papaschlumpf Posted May 9, 2013 Share Posted May 9, 2013 Hallo Zusammen, kann mir jemand verraten wie ich ActionIDs, die ich im Payload eines Events im EventGhost empfange, auslesen kann und an DVBViewer senden kann? Kann man den Befehl in EG, der Action IDs senden kann (send Action), auch mit variablen Werten nutzen? Beim Plugin: "Netzwerke Ereignis: Sender" geht das so "eg.plugins.NetworkSender.plugin.Send("DVBViewer", [str(eg.event.payload)])". So leite ich den payload (=Inhalt des Events DVBViewer) an meine Heimsteuerung IP-Symcon weiter. Jetzt möchte ich das auch in die andere Richtung machen. So könnte ich aus der Heimsteuerung auch gleich den DVBViewer mit bedienen Ich hoffe ich habs sauber erklärt was ich suche. GrüßeMatthias Quote Link to comment
nuts Posted May 9, 2013 Share Posted May 9, 2013 (edited) "eg.plugins.NetworkSender.plugin.Send("DVBViewer", [str(eg.event.payload)])" Das ist eine Pythonzeile, die mit dem Befehl "Python-Skript" ausgeführt wird? edit\ Müsste ca. so aussehen: eg.plugins.DVBViewer.plugin.SendAction(eg.event.payload) Edited May 9, 2013 by nuts Quote Link to comment
papaschlumpf Posted May 10, 2013 Author Share Posted May 10, 2013 Hallo nuts, ja genau so eine Phythonzeile ist das, aber im Befehl "Phython Befehl". Weder Deine Zeile noch eine Abwandlung von mir funktionieren leider. eg.plugins.DVBViewer.plugin.SendAction("TCP-IPS", [str(eg.event.payload)]) Hast Du oder sonst noch jemand eine Idee? Ich bekomme diese Fehlermeldungen: Fehler in Befehl: "eg.plugins.DVBViewer.plugin.SendAction("TCP-IPS", [str(eg.event.payload)])" Traceback (most recent call last) (1610): File "<string>", line 1, in <module> AttributeError: 'DVBViewer' object has no attribute 'SendAction' GrußMatthias Quote Link to comment
papaschlumpf Posted May 10, 2013 Author Share Posted May 10, 2013 Ich bin weiter gekommen... Nach eg.plugins.DVBViewer darf nicht nochmal .plugin kommen. Wenn ich nun in die Klammer einen Befehl schreibe, dann funktioniert er Befehl. Wie kann ich nun aber meine Variable übergeben? Das geht: eg.plugins.DVBViewer.SendAction(5) Das nicht: eg.plugins.DVBViewer.SendAction("TCP-IPS", [str(eg.event.payload)]) Da kommt der Fehler: Fehler in Befehl: "eg.plugins.DVBViewer.SendAction("TCP-IPS", [str(eg.event.payload)])" Traceback (most recent call last) (1610): File "<string>", line 1, in <module> TypeError: __call__() takes exactly 2 arguments (3 given) Hat jemand eine Idee? GrußMatthias Quote Link to comment
nuts Posted May 10, 2013 Share Posted May 10, 2013 eg.plugins.DVBViewer.SendAction([str(eg.event.payload)]) so vielleicht? oder so: eg.plugins.DVBViewer.SendAction(eg.event.payload) ? Syntaxfehler vorbehalten. Kann das derzeit nicht testen. Hast du dir mal "[str(eg.event.payload)]" in EG anzeigen lassen? Was steht da drin? Quote Link to comment
papaschlumpf Posted May 10, 2013 Author Share Posted May 10, 2013 Hallo nuts, vielen Dank für den Tipp mit dem Nachschauen was da eigentlich ankommt. Das Event, das ich bekomme, sieht so aus: TCP-IPS.5 ['127.0.0.1'] aber der Payload (mit dem Befehl angeschaut: print [str(eg.event.payload)] ) ist so... ["['127.0.0.1']"] Das kann natürlich nicht funktionieren. Warum bekomme ich die 5 nicht? *grübel* Quote Link to comment
nuts Posted May 10, 2013 Share Posted May 10, 2013 Wer erzeugt das Event? Ich nehme mal an das Netzwerkempfänger-Plugin? Gibt da dann 2 Möglichkeiten: 1. es werden die falschen Daten ('127.0.0.1') vom Netzwerksender (Heimsteuerung IP-Symcon) geliefert 2. das Netzwerkempfänger-Plugin verwendet nicht die gewünschten Daten, sondern z.B. die IP des Absenders. Quote Link to comment
papaschlumpf Posted May 10, 2013 Author Share Posted May 10, 2013 Ich hab's mein Wert ist kein payload sondern der suffix.... So funktioniert es! Danke nuts! Makro mit zwei Schritten: 1. Ein Event mit dem Inhalt "TCP-IPS.*" reagiert, wenn das Plugin NetworkReceiver (Netzwerk Ereignis Empfänger) mit dem prefix TCP-IPS (von mir festgelegt), ein Ereignis empfängt. 2. Im Befehlselement Phyton Befehl steht: eg.plugins.DVBViewer.SendAction(eg.event.suffix) Mein Wert von IP-Symcon wird sauber weiter gereicht und der DVBViewer reagiert. Jetzt muss ich nur die ActionIDs noch schön in meine Heimsteuerung integrieren und habe eine Fernbedienung in einer App (neben Heizung, Verstärker, Licht, ...) Sehr schön. Danke allen die hier so fleißig im Forum Fragen und Antworten und vor allem so tolle Schnittstellen wie zum EG bauen! Gruß Matthias Quote Link to comment
papaschlumpf Posted May 10, 2013 Author Share Posted May 10, 2013 Hallo nuts, wir haben gerade gleichzeitig geschrieben... Ich habe folgendes Script benutzt: http://www.ip-symcon.de/forum/threads/19614-Android-Eventghost-Communication-Suite?highlight=eventghost Dort wird angegeben, dass der Text, den ich sende, der payload ist. Bei EG scheint das aber als Suffix anzukommen bzw. der Suffix zu sein. Kannst Du dazu noch etwas sagen?Was ich in dem Script verstanden habe ist, dass EG keine Antwort auf einen Handshake gibt. Das macht mir gerade noch Schwierigkeiten. In Post#2 unterstes Script muss man dafür ein paar Zeilen (bei Zeile 80) deaktivieren. Das macht die Kommunikation leider etwas holprig wie mir scheint. Vielleicht lässt sich da ja noch etwas machen bei EG Den Rest werde ich im IP-Symcon-Forum erarbeiten müssen. Danke nochmal! Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.