Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zum Plugin: Asterisk

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 2ndsky
    antwortet
    Freut mich, dass es nun klappt

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    [gelöst]

    hartwig.py

    Code:
    #!/usr/bin/env python
    #
    
    #raise Exception(hartwig)
    
    sh.office.hartwig.nummer(trigger['source'])
    sh.office.hartwig.name(trigger['value'])

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    Hallo Marcus,

    wäre gerne gekommen, aber leider passt das Heute nicht. Beim nächsten mal will ich aber wieder dabei sein, denn das smarthome.py ist richtig spannend auch wenn mir da teilweise noch einer auf dem Schlauch steht!

    Leider passt es noch nicht
    in der hartwig.py steht nun:

    Code:
    #!/usr/bin/env python
    #
    sh.office.hartwig.nummer = trigger['Source']
    sh.office.hartwig.name   = trigger['Value']
    Wenn ich einen Anruf auslöse wir die hartwig.py auch ausgeführt.

    Im logfile erscheint dann die folgende Meldung:

    Code:
    Init SmartHome.py 1.0-35-gf62db45
    2014-05-09 18:15:08 ERROR    hartwig      Logic: hartwig, File: /usr/smarthome/logics/hartwig.py, Line: 3, Method: <module>, Exception: 'Source'
    Traceback (most recent call last):
      File "/usr/smarthome/lib/scheduler.py", line 327, in _task
        exec(obj.bytecode)
      File "/usr/smarthome/logics/hartwig.py", line 3, in <module>
        sh.office.hartwig.nummer = trigger['Source']
    KeyError: 'Source'
    Für den Stammtisch heute Abend, viel Spaß

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Hartwig,

    erfolgreich?

    Kommst Du heute Abend zum Stammtisch? Dann erkläre ich es Dir bei einem Wein.
    Ansonsten kann ich Dir nächste Woche helfen.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • 2ndsky
    antwortet
    Zitat von hartwigm Beitrag anzeigen
    logic.conf
    Code:
           [hartwig]
    		ast_userevent = Call
    [COLOR="Red"]		nummer = trigger['Source']
    		name = trigger['Value'][/COLOR]
    	        filename = [COLOR="Blue"]hartwig.py[/COLOR]
    Nochmal... die beiden roten Sachen gehören dort nicht rein sondern in die Logik hartwig.py die im logics Verzeichnis liegen muss. Schau dir mal den Post von Marcus an. Sein gepostetes Beispiel sollte funktionieren.

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    Danke für die Unterstützung,

    aber irgendwie bekomme ich das noch nicht in den Griff.

    Die Zuweisung habe ich nun in der Logic.

    Bei den Items/asterisk.conf ist die Verbindung zwischen dem Namen und der GA

    logic.conf
    Code:
           [hartwig]
    		ast_userevent = Call
    		nummer = trigger['Source']
    		name = trigger['Value']
    	        filename = hartwig.py
    und hier die aktuelle asterisk.conf
    Code:
    [office]
        [[hartwig]]
            type = bool
            ast_dev = 42
            ast_db = active/office           
            type=bool
                enforce_updates = On
                knx_reply = 7/7/77
                knx_status = 7/7/77
                knx_dpt = 1
                # GA geht auf 1 wenn ein Anruf anliegt 
            [[[box]]]
                type = num
                ast_box = 42
          		  enforce_updates = On
                knx_reply = 7/7/78
                knx_status = 7/7/78
                knx_dpt = 5
                #Zeigt die Anzahl der Anrufe in der VoiceBox
    				[[[nummer]]]
    				    type = str
          		  enforce_updates = On
                knx_reply = 7/7/79
                knx_status = 7/7/79
                knx_dpt=16
    				[[[name]]]
    				    type = str
          		  enforce_updates = On
                knx_reply = 7/7/80
                knx_status = 7/7/80
                knx_dpt=16
    die Asterisk schmeißt die folgende Zeile raus

    Code:
     Executing [99XXX@capi-in:5] UserEvent("SIP/berofix-00000046", "Call,Source: 01600000000,Value: Hartwig") in new stack

    Ich würde nun erwarten, dass der string nummer mit 01600000 belegt wird, der Name mit Hartwig

    Damit müsste doch auf dem KNX-Bus die GA mit den Werten aufschlagen

    Was mache ich hier falsch!

    Einen Kommentar schreiben:


  • 2ndsky
    antwortet
    Okay, das war von mir vielleicht nicht sauber genug erklärt. Das trigger Objekt steht dir nur in Logiken zur Verfügung, nicht in der /etc/logic.conf.

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    Hallo Marcus,

    nah dran kann ganz schön anstrengend sein, wenn Du die Richtung nicht kennst!

    Sorry aber ich kapiere es noch immer nicht.

    In \items habe ich in der asterisk.conf [source] und [destination] mit den entsprechenden GA Adressen definiert.

    Wenn nun ein Anruf kommt geht auch die GA 7/7/77 auf 1.
    Wird der Anruf beendet kommt 2 x auf der GA 7/7/77 eine 0

    in der etc/logic.conf

    habe ich erfolglos versucht die source und destination zu belegen.

    Code:
    [hartwig]
    		ast_userevent = Call
    		source=trigger['Source']
    		sh.source('source')
    		destination= trigger['destination']
    		value = trigger['Value']
                    filename = hartwig.py
    auf der 7/7/79 bzw. 7/7/80 tut sich aber nichts

    Mir ist noch nicht klar wie die vom userevent geschickten Daten auf eine GA bekomme.

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Hartwig,

    Du bist nah dran.

    Die logic.conf müsste so aussehen:

    Code:
    [eingehend]
    		ast_userevent = call
    		filename = eingehend.py
    Und die entsprechende Logik kann dann z.B. so etwas machen:

    Code:
    # eingehendl.py
    sh.wz.xbmc.notify(trigger['source'], 'ruft {0} an'.format(trigger['destination']), 'http://visu.home/img/phone.png')
    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • 2ndsky
    antwortet
    Wenn ich den Code des Plugins richtig deute, sollte alles im trigger Object stehen. Mit

    Code:
    source = trigger['source']
    destination = trigger['dest']
    value = trigger['value']
    solltest du also an die entsprechenden Werte ran kommen. In deinem Fall müsste destination leer sein (oder nicht vorhanden).

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    Hallo Markus,

    danke,

    mir geht es zunächst nur um die item.conf.

    Mir ist noch nicht klar wie und welche Daten ich über das AMI abgreifen kann.

    Insofern wäre hier ein Beispiel hilfreich.


    Meines asterisk.conf in /items sieht wie folgt aus:

    Code:
    [office]
        [[hartwig]]
            type = bool
            ast_dev = 42
            ast_db = active/office           
            type=bool
            enforce_updates = On
                knx_reply = 7/7/77
                knx_status = 7/7/77
                knx_dpt = 1
                # GA geht auf 1 wenn ein Anruf anliegt 
            [[[box]]]
                type = num
                ast_box = 42
          		  enforce_updates = On
                knx_reply = 7/7/78
                knx_status = 7/7/78
                knx_dpt = 5
                #Zeigt die Anzahl der Anrufe in der VoiceBox
    				[[[source]]]
    				    type = str
          		  enforce_updates = On
                knx_reply = 7/7/79
                knx_status = 7/7/79
                knx_dpt=16
    				[[[destination]]]
    				    type = str
          		  enforce_updates = On
                knx_reply = 7/7/80
                knx_status = 7/7/80
                knx_dpt=16
    logic.conf
    Code:
    # logic.conf
    
    [hello]
        filename = hello.py
        crontab = init
    
    [dummy]
        filename = dummy_series.py
        cycle = 300
    
    
    [hartwig]
    		ast_userevent = Call
    		sh.anruf('on')

    Mein Asterisk schickt das UserEvent raus
    exten => _4[1247]n,UserEvent(call,Source: ${CALLERID(num)},Value: ${CALLERID(name)})

    Was mir hier nicht klar ist, wie bekomme ich in der Logic.conf die Werte wieder extrahiert und damit GA zugeweisen

    Vermutlich ist das für euch eine bescheuerte Frage, aber im Moment für mich einfach unklar!

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Hartwig,

    am besten eine Logik mit dem ast_userevent Keyword versehen und dann in der Logik die entsprechenden Aktionen abarbeiten.

    Asterisk ? SmartHome.py 1.0 documentation

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • hartwigm
    antwortet
    Hallo,

    gibt es für das asterisk plugin ein Beispiel, wie das ausgewertet werden kann.

    Ich möchte wenn ein Anruf kommt die Nummer über knx anzeigen und den Russound Kanal auf mute setzen und nach dem Anruf wieder zurück setzen

    Einen Kommentar schreiben:


  • knxms
    antwortet
    Na dann ....
    ... muß es eben ohne gehen 😁

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hi Michael,

    das Verzeichnis/Datei gibt es so nicht mehr. Und ich kann sie auch nicht mehr finden.

    Ich werde die Doku anpassen.

    Sorry

    Marcus

    Einen Kommentar schreiben:

Lädt...
X