Jump to content

ActionIDs aus Payload in EventGhost auslesen und an DVBviewer senden


papaschlumpf

Recommended Posts

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üße
Matthias

 

 

Link to comment

 

"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 by nuts
Link to comment

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

Link to comment

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

Link to comment

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?

Link to comment

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*

Link to comment

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.

Link to comment

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

Link to comment

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!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...