PJLink Beamer Control

Natürlich ist auch unser Epson EH-TW7300 Beamer in die Smart Home Steuerung eingebunden. Da der Epson Beamer mit dem PJLink Protokoll arbeitet, habe ich eine kleine auf PHP basierte API erstellt. Damit ist dann auch eine Steuerung über den Loxone Miniserver oder eine andere Steuerung möglich. Aus Zeitgründen ist diese aktuell noch ohne eine grafische Benutzeroberfläche (GUI).

PJLink Beamer Control - GUI

PJLink Protokoll

Epson und auch andere Hersteller nutzen das standardisierte PJLink Protokoll. Für alle die es interessiert, im folgenden Link findet ihr die PJLink Class 2 Spezifikationen.

PJLink Specifications (Externer Link)

Durch die Verwendung von TCP Paketen eine nicht gerade schöne Schnittstelle, aber immer noch wesentlich besser als keine. 😉

PJLink Beamer Control

Kommen wir jetzt zur API. Ihr benötigt zur Ausführung einen Webserver mit PHP Support. Den Quellcode habe ich auf Github abgelegt und ist unter dem folgenden Link zu finden.

Github Repository PJLink Beamer Control (Externer Link)

In den Dateien ist zwingend eine Anpassung der config.php an die Umgebung notwendig. Das Backend, also die eigentliche API, ist in der control.php zu finden.

Die Steuerung vom Beamer ist dann ganz einfach über die folgenden Befehle möglich.

http://<IP Webserver>/control.php?power=on
http://<IP Webserver>/control.php?power=off
http://<IP Webserver>/control.php?mute=on
http://<IP Webserver>/control.php?mute=off
http://<IP Webserver>/control.php?input=1
http://<IP Webserver>/control.php?input=2
http://<IP Webserver>/control.php?input=get

Der aktuelle Status (Lampenstunden, Power und Mute) ist über die folgende URL auslesbar.

http://<IP Webserver>/control.php?status=all

Der Webserver liefert als Antwort eine JSON zurück. Diese kann dann von der Steuerung ausgelesen werden.

{"lamp":"920","power":"0"}

Ist der Beamer eingeschaltet, ist zusätzlich der aktuelle Wert für „mute“ vorhanden.

Loxone Miniserver

Die Steuerung und die Statusabfrage über den Loxone Miniserver ist identisch zu vielen anderen Beispielen.

Befehle

Zur Steuerung wird zuerst ein „Virtueller Ausgang“ angelegt und dort die Adresse vom Webserver (http://<IP Webserver>) eingetragen.

Für jeden Befehl wird jetzt ein „Virtueller Ausgang Befehl“ angelegt und dort der entsprechende Befehl (/control.php?<cmd>=<value> also zum Beispiel /control.php?power=on) unter „Befehl bei EIN“ eingetragen.

Status

Für die Statusabfrage wird ein „Virtueller HTTP Eingang“ mit der vollständigen URL (http://<IP Webserver>/control.php?status=all) erstellt.

Mit dem „Virtueller HTTP Eingang Befehl“ werden dann die einzelnen Informationen aus dem JSON Response ausgelesen. Dazu wird unter Befehlserkennung z. B. "power":\v oder "lamp":\v eingetragen.

Sollte etwas fehlen oder unklar sein, meldet euch einfach!

2 thoughts to “PJLink Beamer Control”

  1. Sehr cool… ich bin damals daran gescheitert und habe den Beamer per RS232 eingebunden… danke, damit werde ich es nochmal versuchen… hast du auch Quellen umschalten?

    1. Hallo Nico,

      ich habe Source Code im GitHub um die Auswahl der Quelle (Input) erweitert. Teste mal wenn der Beamer an ist, was mit dem input=get Befehl zurückkommt. Es müssten für die Eingänge mehrere Werte zwischen 11 und 59 angezeigt werden. Diese musst du dann im switch case Konstrukt unter input einbauen, ein Beispiel mit Eingang 1 und 2 bzw. 31 und 32 ist vorhanden. Meld dich dann gerne nochmal!

      Viele Grüße
      Stefan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

code