Event on Key pressed URL aufrufen

  • Hallo zusammen,


    leider habe ich das in der Wiki nicht gefunden, wie sollte die ini Aussehen um beim Druck auf den Taster welcher auf Pin 11 ist gleichzeitig ein Anruf erfolgt und eine URL aufgerufen wird.


    Danke
    Gruß Eddie

  • Hi Thomas,


    so sieht nun meine ini nun aus:

    Code
    [keyboards]
    onbaord = gpio
    [onbaord_InputPins]
    11 = sleep:0
    [EVENT_OnKeyPressed_onboardpins.11]
    10 = url_call:http://meineurl
    20 = call:11


    vielen Dank für Dein Beispiel, die Nummer 11 wird gerufen aber die URL wird nicht aufgerufen. Kann das sein dass dass die URL in "" stehen muss?
    Danke
    Gruß Eddie

  • ohne Log kann ich da nicht viel sagen - vielleicht findest du hier Beispiele:

    Wenn ich das hier richtig deute bedeutet dass das url_call Modul nicht vorhanden ist



    Code
    2016-05-28 23:47:25,416 [ERROR]         [doorpi.action.base] error while creating SingleAction from config string: url_call:http://meineurl
    Traceback (most recent call last):
      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 url_call

    wie kriege ich diesen installiert/aktiviert?

  • Hallo Thomas,


    vielen Dank für Deine Hilf eund Deine Geduld mit mir. Ich bin scheinbar ein Schritt weiter aber leider noch nicht ganz am Ziel. Ich habe das Update installiert und habe die url_call.py erstellt mit dem Quellcode den Du mir geschickt hast. Nun bringt doorpi kein Fehler mehr.
    Aber leider wird die URL nicht aufgerufen. (Wenn ich die gleiche URL via wget aufrufe geht es, also der pi kommt hin)
    Hier ein Auszug der Logs:


    Hier meine doorpi.ini


    und hier die url_call.py



    Wie gesagt die URL wird beim drücken des Tasters auf Pin 11 nicht ausgelöst.
    Ich hatte in dem Event 2 Befehle drin einmal der Aufruf der URL und ein Anruf, den Anruf habe ich erstmal rausgenommen um bei den Versuchen nicht die ganze Zeit alle Telefon läuten zu lassen. Wenn ich den Call Befehl als zweiten Befehl hinzufüge wird ein Anruf gestartet, sprich das Event wird erkannt und auch ausgelöst. Es happert an dem URL Aufruf.


    ICh wäre für jede Hilfe sehr dankbar.
    Gruß Eddie

  • Hänge mal bitte in der DoorPi.ini nach Zeile 59 ein 20 = Sleep:3 an.


    Ich hatte hier ein ähnliches Problem, wenn url_call in der letzten Zeile eines Events steht. Da wurde es auch nicht ausgelöst. Folgen weitere Aktionen funktionierte es. Allerdings auch nicht zwei call_url nacheinander ohne Pause!

  • Hi,


    bin neu hier aber an dem Thema hänge ich. Sonst läuft alles (Auslösung durch GPIO oder Datei, Telefone klingeln, Events beim Start/Stop werden auch ausgelöst) nur die call_url macht irgendwie nichts weder bei DTMF noch im Event.


    Hier mal ein Auszug aus dem LOG. Ich kann das FireEvent ja sehen und auch der nächste Schritt sleep wird angezeigt.


    log

    Code
    2016-07-27 17:07:01,113 [DEBUG]  	[doorpi.action.handler] [SBJZNR] fire for event OnKeyDown_virtuell.klingel this actions [<doorpi.action.SingleActions.url_call.UrlCallAction instance at 0xb2d2e828>, <doorpi.action.SingleActions.sleep.SleepAction instance at 0xb2d2e788>] 
    2016-07-27 17:07:01,115 [DEBUG]  	[doorpi.sipphone.from_linphone] call (**9)
    2016-07-27 17:07:01,124 [DEBUG]  	[doorpi.sipphone.from_linphone] no current call -> start new call
    2016-07-27 17:07:01,128 [DEBUG]  	[doorpi.sipphone.from_linphone] reset current call start datetime to 2016-07-27 15:07:01.128297
    2016-07-27 17:07:01,126 [TRACE]  	[doorpi.action.handler] [SBJZNR] try to fire action UrlCallAction with args () and kwargs {'url': 'http://192.168.0.44:3777/user/doorpi_klingel.php'}
    2016-07-27 17:07:01,118 [DEBUG]  	[doorpi.action.handler] no actions for event BeforeSipPhoneMakeCall - skip fire_event BeforeSipPhoneMakeCall from doorpi.sipphone.from_linphone
    2016-07-27 17:07:01,137 [TRACE]  	[doorpi.action.base] run UrlCallAction with args () and kwargs {'url': 'http://192.168.0.44:3777/user/doorpi_klingel.php'}
    2016-07-27 17:07:01,142 [TRACE]  	[doorpi.action.handler] [SBJZNR] try to fire action SleepAction with args (10.0,) and kwargs {}


    in der Ini sieht das Event wie folgt aus:


    Code
    [EVENT_OnKeyDown_virtuell.klingel]
    10 = url_call:http://192.168.0.44:3777/user/doorpi_klingel.php
    20 = sleep:10
  • Hallo Zusammen,


    habe das gleiche Problem wenn ich Aktoren auf meiner Homematic CCU ansprechen will.


    Events für Ausgänge oder Relais am Doorpi schalten klappt hervorragend aber "10 =url_call:http://homeatic-url-gelumpse/...." klappt auch nicht bei mir.


    Im Log wird angezeigt das die URL aufgerufen wird, es wird auch der Rückgabewert (Erfolgsmeldung) von der CCU im Log angezeigt,
    aber dennoch wir der Aktor nicht geschaltet.


    Was aber sehr gut geht ist, die Aufrufe in ein Shellscript zu packen und diese mittels "os_execute" einzubinden.


    Ich verwende "curl" um den Http Request auszuführen.


    Beispiel Einbindung in die Doorpi.ini
    10 = os_execute:/usr/local/etc/DoorPi/doscript/myscript.sh


    Halt nur darauf achten das auch die entsprechenden Rechte vorhanden sind um das Shellscript aufrufen oder ausführen zu dürfen.


    Schönen Abend noch


    Aldafera aka Harald

    SIP: Asterisk 14
    Dect: FrützBüx 7490
    O/S: Debain Jessie
    Automatisierung: CCU2 + CUXD + Pushover + Mail (YAHM)
    Aktoren: (bitte einfach fragen hab 250 Geräte im Einsatz)
    Anbindung Inet DynDns + VPN
    Sicherheit: Palo Alto, Fortigate, LSC ERPM
    Surveillance: Edimax, Digitus, Raspi
    Tracking: Cisco und LoraWan
    Netzwerke: CAT7 - 1Gb Uplink, FO (Multi-, Mono, POF), WLAN. Dect, BidCos, LoRa
    90% Hab ich sicher wieder vergessen - :D