Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zum Plugin: Asterisk

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

    Frage zum Plugin: Asterisk

    In der Github-Dokumentation zum Asterisk-Plugin ist der Hinweis zu finden, dass ...

    In misc/asterisk some configuration files from the authors asterisk are available to learn from.
    Wo kann ich denn das Verzeichnis "misc/asterisk" finden?

    Gruß
    Michael

    #2
    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

    Kommentar


      #3
      Na dann ....
      ... muß es eben ohne gehen 😁

      Kommentar


        #4
        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
        Gruß Hartwig

        Kommentar


          #5
          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

          Kommentar


            #6
            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!
            Gruß Hartwig

            Kommentar


              #7
              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).
              Mit freundlichen Grüßen
              Niko Will

              Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
              - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

              Kommentar


                #8
                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

                Kommentar


                  #9
                  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.
                  Gruß Hartwig

                  Kommentar


                    #10
                    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.
                    Mit freundlichen Grüßen
                    Niko Will

                    Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                    - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                    Kommentar


                      #11
                      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!
                      Gruß Hartwig

                      Kommentar


                        #12
                        Zitat von hartwigm Beitrag anzeigen
                        logic.conf
                        Code:
                               [hartwig]
                        		ast_userevent = Call
                        		nummer = trigger['Source']
                        		name = trigger['Value']
                        	        filename = hartwig.py
                        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.
                        Mit freundlichen Grüßen
                        Niko Will

                        Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                        - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                        Kommentar


                          #13
                          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

                          Kommentar


                            #14
                            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ß
                            Gruß Hartwig

                            Kommentar


                              #15
                              [gelöst]

                              hartwig.py

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

                              Kommentar

                              Lädt...
                              X