IP Symcon und Eventghost – Schnittstelle nutzen Part1

Heute geht es darum, wie man eine Schnittstelle zwischen Eventghost und IP Symcon erstellt, um die beiden Applikationen miteinander “sprechen” zu lassen. Daraus ergeben sich diverse Use Cases, wie z.B. Homematic Geräte indirekt über Infrarot Fernbedienungen zu steuern. In unserem speziellen Fall verwenden wir dafür die Hama MCE Remote, weil diese bereits vorhanden ist. Dieser Post ist der zweite Schritt zur Vorbereitung für die Steuerung meiner Beamer-Leinwand. Den ersten Teil findet man hier, in dem beschrieben wird, wie eine motorisierte Leinwand mit einem Homematic Aktor gesteuert wird.

 

  1. In Windows Installation von unsignierten Treibern zulassen
  2. Eventghost installieren und Remote Device konfigurieren
  3. Eventghost Interfaces zu IP Symcon erstellen
  4. IP Symcon Server, Client Sockets  und RegisterVariable erstellen

In Windows Installation von unsignierten Treibern zulassen

Mit gedrückter Shift Taste auf Restart klicken

Windows_UnsignedDriver_shift-restart

Hier auf Troubleshoot…

Windows_UnsignedDriver_2-troubleshooting

…dann auf Startup Settings…

Windows_UnsignedDriver_3-advancedOptions

…und auf Restart

Windows_UnsignedDriver_4-StartUpSettings

Windows startet sich dann neu und lässt die Installation unsignierter Treiber zu. In Windows Server 2012 R2 bekommt man noch einmal ein Auswahlmenü, in dem man den Startmodus auswählen muss. Dabei handelt es sich um eine DOS-ähnlichen Screen, bei dem man recht weit unten den Punkt “Disable Driver Signature Enforcement” auswählen kann.

Eventghost installieren und Remote Device konfigurieren

Zunächst legt man einen neuen ConfigurationTree an (Strg + N), um “sauber” anzufangen. Nun muss die Fernbedienung hinzugefügt werden. Dazu macht man einen Rechtsklick auf das Root-Element des Config Trees und wählt “Add Plugin”. Folgender Screen ist dann zu sehen, in dem man dann “auvisio VRC-1100 Ro” auswählt, oder eben eine andere Hardware, die man verwenden möchte.  Die Hama MCE Remote funktioniert nur mit den auvisio-Treibern in Eventghost. Andere MCE Fernbedienungen sollen damit auch funktionieren. Die beiden Plugins “Microsoft MCE Remote” und “Microsoft MCE Remote – Vista/Win7” haben entgegen ihrer vielversprechenden Namen keine Wirkung gezeigt. Generell funktioniert die Hama Fernbedienung zwar unter Windows, die Events lassen sich jedoch nicht in Eventghost abfangen und somit auch nicht als Trigger verwenden wenn man nicht das Auvisio-Plugin verwendet.

 

Wurde die Fernbedienung richtig erkannt und man drückt irgendwelche Tasten, sollte man diese Events im Log auf der linken Seite sehen. Hier habe ich mal die Tasten 1, 2, 5 und 8 gedrückt:

 

Eventghost Interfaces zu IP Symcon erstellen

Um die bidirektionale Kommunikation zwischen Eventghost und IPS aufzubauen braucht man auf beiden Seiten jeweils einen Server und Client bzw einen Sender und Empfänger. So kann Eventghost Befehle zu IP Symcon schicken und umgekehrt. Wir bereiten beide “Wege” vor, jedoch wird das Senden in Richtung IPS in diesem Blog Post im Vordergrund stehen.

Wir fügen also 2 weitere Plugins hinzu, den “Network Event Sender” und den “Network Event Receiver”:

 

Beim Sender muss die IP und der Port eingetragen werden, die man bei IP Symcon später auf der Empfängerseite definiert. In diesem Fall ist Eventghost auf derselben Maschine installiert wie IP Symcon, sodass wir hier die Loopback-Adresse stehen lassen.

 

Demzufolge ist der EventReceiver in Eventghost das, was man dem Sender in IPS angeben muss, damit IPS in Richtung Eventghost kommunizieren kann.

 

IP Symcon Server, Client Sockets und RegisterVariable erstellen

Nun müssen 2 Instanzen angelegt werden, Server Socket und Client Socket, die unter (I/O) zu finden sind.

Da Bilder mehr als Worte sagen, hier nochmal die beiden benötigten Module nebeneinander, die man braucht, um mit Eventghost Daten zu IP Symcon zu schicken.

IPS_ServerSocket_EG_EventSender

 

Als nächstes muss noch eine RegisterVariable erstellt werden, die zur Datenweiterleitung bzw. Verarbeitung dient. Die RegisterVariable findet man bei den Instanzen unter (Misc). Hat man die RegisterVariable hinzugefügt, muss diese konfiguriert werden. Hierbei ist es notwendig, dass man als “Parent Instance” den Server Socket angibt, über den Eventghost die Nachrichten schickt. Des Weiteren muss als “Target” das Script angegeben werden, das später die Nachricht verarbeiten soll. In diesem Fall gibt es ein Script, das “SocketTest” heißt.

IPS_RegisterVariable

 

Nun können wir auch schon den ersten Test starten, indem wir in Eventghost ein Macro erstellen. Als Typ wählt man “Map” aus, was ganz unten bei “Network Event Sender” zu finden ist.

Als nächstes wechselt man in IP Symcon zum Debug Tab des Server Sockets. In Eventghost wiederum klickt man doppelt auf das soeben erstellte Network Event Sender Objekt. Nun kann man zum Test eine Nachricht an IP Symcon senden.

IPS_Eventghost_TestMessage

 

Die Nachricht wird noch nicht extrahiert dargestellt. Das behandele ich in einem weiteren Post [TBC].

Um dieses Event bzw. Makro nun mit der Fernbedienung zu triggern, kann man einfach die Events aus dem Eventghost Log in das Makro ziehen. Im diesem Beispiel Triggern wir unser Test-Event mit der Taste “1” auf der Fernbedienung.

So kann man verschiedene Befehle/Events zu den Tasten der Fernbedienung zuweisen, die wiederum zu IP Symcon geschickt und dort verarbeitet werden können.

 

4 Response Comments

  • Babilon  10/02/2015 at 14:10

    Gibt`s die Beamer-Leinwand auch als Auftragsfertigung?

    Reply
    • Jata  15/02/2015 at 15:15

      Für Dich? Natürlich 🙂

      Reply
  • Stefan71  15/01/2017 at 19:34

    Hallo,
    ich habe im IPS Forum einen Tipp über deine Seite bekommen. Ich möchte auch gerne einen HTPC über IPS steuern und über Mediola’s NEO visualisieren. Oben ist die Rede von einer Fernbedienung, ist die zwingend erforderlich?

    Reply
    • Jata  18/04/2017 at 15:33

      Hi Stefan,
      das sollte auch mit anderen Fernbedienungen möglich sein.
      Gruß

      Reply

Leave A Comment

Please enter your name. Please enter an valid email address. Please enter a message.