Ankündigung
Einklappen
Keine Ankündigung bisher.
Frage zum Plugin: Asterisk
Einklappen
X
-
[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:
-
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:
Wenn ich einen Anruf auslöse wir die hartwig.py auch ausgeführt.Code:#!/usr/bin/env python # sh.office.hartwig.nummer = trigger['Source'] sh.office.hartwig.name = trigger['Value']
Im logfile erscheint dann die folgende Meldung:
Für den Stammtisch heute Abend, viel Spaß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'
Einen Kommentar schreiben:
-
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:
-
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.Zitat von hartwigm Beitrag anzeigenlogic.conf
Code:[hartwig] ast_userevent = Call [COLOR="Red"] nummer = trigger['Source'] name = trigger['Value'][/COLOR] filename = [COLOR="Blue"]hartwig.py[/COLOR]
Einen Kommentar schreiben:
-
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
und hier die aktuelle asterisk.confCode:[hartwig] ast_userevent = Call nummer = trigger['Source'] name = trigger['Value'] filename = hartwig.py
die Asterisk schmeißt die folgende Zeile rausCode:[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
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:
-
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:
-
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.
auf der 7/7/79 bzw. 7/7/80 tut sich aber nichtsCode:[hartwig] ast_userevent = Call source=trigger['Source'] sh.source('source') destination= trigger['destination'] value = trigger['Value'] filename = hartwig.py
Mir ist noch nicht klar wie die vom userevent geschickten Daten auf eine GA bekomme.
Einen Kommentar schreiben:
-
Hallo Hartwig,
Du bist nah dran.
Die logic.conf müsste so aussehen:
Und die entsprechende Logik kann dann z.B. so etwas machen:Code:[eingehend] ast_userevent = call filename = eingehend.py
Bis baldCode:# eingehendl.py sh.wz.xbmc.notify(trigger['source'], 'ruft {0} an'.format(trigger['destination']), 'http://visu.home/img/phone.png')
Marcus
Einen Kommentar schreiben:
-
Wenn ich den Code des Plugins richtig deute, sollte alles im trigger Object stehen. Mit
solltest du also an die entsprechenden Werte ran kommen. In deinem Fall müsste destination leer sein (oder nicht vorhanden).Code:source = trigger['source'] destination = trigger['dest'] value = trigger['value']
Einen Kommentar schreiben:
-
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:
logic.confCode:[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
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:
-
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:
-
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:
-
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:


Einen Kommentar schreiben: