Dashboard Fernbedienung

Hallo!

Ich suche nach einer Möglichkeit das Dashboard mit einer Fernbedienung zu steuern. Hat jemand von euch sowas schon realisiert?
Evtl. mit der Hilfe von PC Remote Controle oder Event Ghost?

MfG
Dani

Ich mache grad ein paar Gehversuche mit Eventghost & IPS.
Versuche das ganze mit den „Netzwerkplugins“ von Eventghost. Das ganze wäre dann auch bidirektional. Sobald ich da was Nutzbares habe poste ich das ins Forum.

Danke sysrun
Vielleicht wäre die Logitech DiNovo Mini eine Alternative.
Ich werde das Teil bei Gelegenheit testen.

Hi,
die Integration von EventGhost per Netzwerk Ereignis Sender/Empfänger ist eigentlich simpel. Habe sogar ich als Php-Noob geschafft.

Du brauchst jeweils einen Client- und einen Server-Socket, jeweils verbunden mit dem Sender/Empfänger von EG. Diese bekommen noch je eine Registervariable.

Wenn EG einen Befehl Senden möchte musst du den Server-Socket auswerten.

<?
$data = $IPS_VALUE;
if ($data == "quintessence
\r")
	{SSCK_SendText(42074 /*[Server Socket-EventGhost]*/, cookie);}

else
	{if ($data == "f882a23cc28ace6fd543abc94322344e
")
        {SSCK_SendText(42074 /*[Server Socket-EventGhost]*/, accept);}}
?>

Danach ist die Verbindung aufgebaut und die gesendeten Befehle werden empfangen.

Wenn du einen Befehl an EG senden möchtest musst du erst eine Verbindung aufbauen. Hier über den Client-Socket.
Du sendest erst

<?
CSCK_SendText(55308 /*[Client Socket-EventGhost]*/, "quintessence
\r");
 //Fügen Sie hier ihren Skriptquellcode ein
?>

darauf hin bekommst du die Rückmeldung von EG und verarbeitest die weiter

<?
$data = $IPS_VALUE;
$data = trim($data);
if ($data != "accept")
	{$data .= ":";
	 $hash = md5($data);
	 $hash .= "
";
	 CSCK_SendText(55308 /*[Client Socket-EventGhost]*/, $hash);};


?>

darauf hin bekommst du von EG „accept“ zurück und könntest jetzt imho Befehle senden.

So das ganze ist bei mir im reinen Versuchsstatus, ich habe es soweit probiert das ich beim Verbindungsaufbau keine Fehlermeldungen mehr bekommen, allerdings habe ich die ganze Geschichte nicht produktiv im Einsatz.

Auch funktioniert diese Lösung nur ohne gesetztes Passwort in EG da ich die ganze Geschichte nur mit teilweise fixen md5 hashes programmiert habe.

Ich würde das ganze gerne etwas besser erklähren, allerdings habe ich das vor über einem halben Jahr zusammengebastelt und natürlich (mal wieder) nix in den Scripten dokumentiert und muss mich da erst mal selber wieder weng reindenken.
Der Verbindungsaufbau der ganzen Geschichte ist übrigens auch ganz gut in den Plugin-Dateien von EG beschrieben.

Aber vielleicht konnten die paar Codeschnipsel doch jemanden etwas weiter helfen. Ich denke ich muss mich die nächste zeit doch auch mal wieder etwas mit der ganzen Geschichte beschäftigen.

gruß goran

Ja, so ungefähr hab ich da auch gelöst. Allerdings inkl. Passwortmöglichkeit :slight_smile:

Hi Dani

ich hab die Logitech DiNovo hier. Nettes Teil, aber etwas teuer für die Anwendung. Hab auch immer Angst den Deckel mal versehentlich abzubrechen. Achja und Vorsicht, manche Tasten fehlen.

Was möchtest denn eigentlich genau steuern ? Texteingabe, oder nur IPS Scripte starten ? Was verstehst du unter Fernbedienung ?

Letzteres geht zb auch ganz hervorragend -und günstig- mittels Winlirc und jeder beliebigen IR Fernbedienung.

Falls du keinen 868Mhz Funk hast könnte ich dir ein Cideko Air Keyboard (bitte googeln) günstigst überlassen. Das Teil hat auch eine eingebaute GyroMouse welche super funktioniert. Da es aber leider mein FS20 stört kann ich es nicht verwenden.

gruß
bb

Danke für die Ratschläge!
Die Integration mit EG per Netzwerkereignis muss ich mir definitiv genauer anschauen. Dies eröffnet einiges an Optionen.
Ich habe so ein DiNovo Teil bestellt. Dies erfüllt meine momentan meine Anforderungen. (HTPC mit IPS)

HTPC !!!

Also an den Bedienkomfort ( Zappen, Laut/Leise, ect. ) einer gutgemachten (!!) IR Fernbedienung kommt meiner Meinung so schnell nix ran.

gruß
bb

hehe, doch der Bedienkomfort einer gut gemachten RF Fernbedienung :smiley: deswegen auch EG, das arbeitete nämlich mit den X10 Fernbedienungen, z.b. Ati Remote Wonder (hässlich, ca. 10€ bei EBlöd) oder auch der Medion Fernbedinung (Pollin, auch 10-15€)

@sysrun: Wenn du magst könntest du deine Scripte hier mal Posten, da kann ich mir bestimmt noch was abgucken g Vielleicht sollten wir mal ein kleines Tut für EG und IPS schreiben.

Ansonsten, ich empfinden EG im Moment WinLirc bei weitem überlegen, auch für IR. Nicht nur das auch USB Empfänger unterstützt werden (z.B. Igor), auch die weiteren Möglichkeiten von Eingabegeräten sind enorm. Das (für mich) einzig positive an Winlirc ist das es von Ips nativ unterstützt wird und ich hier nix basteln muss.

gruß
goran

Hi goran,

wäre es möglich dass Du mir hier noch ein wenig Hilfestellung geben kannst?
Ich beschäftige mich erst seit ein paar wochen mit IPS und php - bin also noch längst nicht in der Lage komplextere Scripte zu verstehen. Ich schaue mir daher Scripte hier im Forum an um daraus zu lernen.

Ich suche schon serit einigen Tagen nach einer Lösung zur Anbindung von EventGhost an IPS, Deine Beiträge hier scheinen mir am dichtesten an einer Lösung zu sein. Ich hab die voin Dir oben beschriebenen Schritte versucht nachzustellen scheitere aber schon ganz am Anfang.

Wie weit bin ich?=
Ich hab in EG eine Sender (Port 30011)- und eine Empänger-Instanz (Port 30010) eingerichtet (IPS und EG befinden sich auf dem selben Rechner -> virtueller Server 2008R2), beides ohne Passwort.
in IPS habe ich nun einen Server-Socket (Port30011) und einen Client-Socket (Port 30010) eingerichtet.

Dann hab ich dein 1. gepostetes Script ausprobiert und bekomme schon eine Fehlermeldung in Zeile 2: undefined Variable IPS_Value. Was hat es damit auf sich?
Kannst Du vielleicht ein paar mehr Infos posten die mir (vielleicht auch anderen Einsteigern) bei der Anbindung von EG helfen? -> wäre super :wink:

Dann hab ich dein 1. gepostetes Script ausprobiert und bekomme schon eine Fehlermeldung in Zeile 2: undefined Variable IPS_Value. Was hat es damit auf sich?

Du darfts das Script nicht von Hand ausführen. Es muss über den Socket getriggert werden, da die Daten in $IPS_VALUE erst zum Zeitpunkt der trigger vorhanden sind. Deshalb erhälst Du eine Meldung!

Hi RWN,

besten Dank fürs schnelle Feedback :slight_smile: Leider wirft das bei mir mehr Fragen auf als es beantwortet (sorry, ich übe noch :confused:). Das der $IPS_Value erst bei Eintreffen einer Message existiert hilft aber schonmal beim Verständnis.

Wie aber triggert man denn ein Script durch einen eingegehende Message auf dem Socket? -> mein naiver Ansatz: Ereignis-gesteuert: klappt aber nicht.

Dem Socket wird noch eine Registervariable zugewiesen und dieser dann dein Script. Die RegVar triggert dann dein Script.

Du brauchst jeweils einen Client- und einen Server-Socket, jeweils verbunden mit dem Sender/Empfänger von EG. Diese bekommen noch je eine Registervariable.

Hi RWN,

ich hab mich gestern durch die IPS-Doku gewühlt, nun auch verstanden was mit Register Variable gemeint ist :slight_smile:
Kurzum: ein von Eventghost abgeschicktes „Telegramm“ kommt nun bei IPS an (zu sehen über das Debug-Fenster).
Aber jetzt kommt der nächste Schritt (bei dem ich Hilfe brauche):
Nun muss das ankommende „Telegramm“ ausgewertet werden und ein entsprechender Befehl in IPS ausgelöst werden - so zumindest meine Denke.
Wie genau müsste das ablaufen (so denn mein Denkansatz richtig ist)?

Zu guter Letzt: die umgekehrte Richtung (senden eines Telegramms aus IPS an EG klappt noch nicht: im EG Ereignisprotokoll bekomme ich die Fehlermeldung „NetworkReceiver Md5 error“ (unmittelbar nach

"RegVar_SendText(29949, „test IPS“);

aus der Instanz „Register Variable Client“). Was muss ich hier tun um IPS mit EG reden zu lassen (Vermutung: das hat doch bestimmt hiermit zu tun:

{if ($data == "f882a23cc28ace6fd543abc94322344e
")

)?

Da kann ich Dir leider nicht helfen, weil ich EG nicht benutze. Probieren oder warten bis jemand der es benutzt Stellung dazu nimmt.

Hi,
ich versuche mal dazu etwas beizutragen.

Zu guter Letzt: die umgekehrte Richtung (senden eines Telegramms aus IPS an EG klappt noch nicht: im EG Ereignisprotokoll bekomme ich die Fehlermeldung „NetworkReceiver Md5 error“ (unmittelbar nach

"RegVar_SendText(29949, „test IPS“);

aus der Instanz „Register Variable Client“). Was muss ich hier tun um IPS mit EG reden zu lassen (Vermutung: das hat doch bestimmt hiermit zu tun:

{if ($data == "f882a23cc28ace6fd543abc94322344e
")

)?

benutzt du die Skripte von mir? Habe das jetzt selbst nochmal ausprobiert, funktioniert bei mir einwandfrei.
Was ich bei deinem Problem nicht verstanden habe: Was versuchst du mit „RegVar_SendText…“ zu tun? Den Text „test IPS“ an EG zu senden?
Kann es sein, das du den kompletten „Verbindungsaufbau“ zwischen Ips und EG umgehst?
Du must nach dem manuellen Senden von „quintessence“ das Skript

   <?
$data = $IPS_VALUE;
$data = trim($data);
if ($data != "accept")
    {$data .= ":";
     $hash = md5($data);
     $hash .= "
";
     CSCK_SendText(55308 /*[Client Socket-EventGhost]*/, $hash);};

SetValueString(58142 /*[Client Socket-EventGhost\Register Variable\Verbindungsaufbau\aaa]*/, $data);
?> 

ausführen (lassen, durch die Register Variable).
Sobald du „accept“ von EG (zu sehen im Client Soket Debug) kannst du mit „CSCK_SendText“ Daten an EG senden.

grüße
goran

edit: ich habe „RegVar_SendText“ ausprobiert, auch das funktioniert, was jetzt die bessere Lösung/Befehl ist, weis ich aber auch nicht.

So,
zum Auswerten der ankommenden Daten in Ips…

ich habe im Debug_Fenster des ServerSocket festgestellt, das:

  1. nach „accept“ von Ips (also dem Ende des Verbindungsaufbaus) von EG zuerst „payload withoutRelease“, dann die eigentliche Message (in meinem Fall) „ips_1“ und zuletzt „close“ gesendet wird.

  2. diese drei Messages können (ich vermute wegen Timingprobleme) einzeln oder auch in zwei oder einer Zeile/Message übertragen werden. Bzw. empfängt es der ServerSocket als eine Message.

Deshalb habe ich meiner Message in EG ein „ips_“ vorangestellt um den Beginn klar in den empfangen Daten zu kennzeichnen. Danach in meinem Fall eine Ziffer für den Befehl, kann natürlich auch mehrstellig sein.

Dann habe ich das Skript der Auswertung der ServerSocket Date erweitert:

<?
$data = $IPS_VALUE;

if ($data == "quintessence
\r")
	{SSCK_SendText(42074 /*[Server Socket-EventGhost]*/, cookie);}

else
	{if ($data == "f882a23cc28ace6fd543abc94322344e
")
   	{SSCK_SendText(42074 /*[Server Socket-EventGhost]*/, accept);}     // eine Klammer } weg !!!!!!

// AB HIER NEU //

	else
		{$code = strstr($data, "ips");      //string "ips" incl. folgenden Zeichen in $code schreiben
		 if ($code != false)                //wenn "ips" vorhanden, Ziffer in 56955 schreiben
		 {$code = substr($data, 4,1);
		 SetValueString(56955 /*[Server Socket-EventGhost\Register Variable\Auswertung\ddd]*/, $code); }}}

?>

d.h. wenn wie in meinem Fall „ips_X“ übertragen wird, wird nur noch das „X“ in die Variable 56955 geschrieben. Diese kann man dann ja einfach abfragen und Ereignisse starten.

grüße
goran

Hi Goran,

klasse und Danke dass Du Dich meldest :slight_smile:

Mein Problem liegt sehr wahrscheinlich nicht in Deinen Scripts (ja, ich verwende genau diese) sondern eher im Grundverständnis wie eine derartige Kommunikation zwischen IPS und EG aufgebaut wird. Mit EG kann ich zwar umgehen, von Programmierung und detailierten Kenntnissen zu den Funktionen von IPS bin ich jedoch noch weit entfernt.

Ich kann mich leider erst wieder am WE mit dem Thema auseinander setzen und melde mich dann nochmal.

Hallo,

gibt es etwas neues zu dem Thema?
Ich möchte auch Befehle von IPS an EG schicken um Mediaportal zu steuern.
Bei mir happerts aber schon am Anfang.

Jörg

von meiner Seite leider noch nicht: ich hab das Thema nach hinten stellen müssen, nicht zuletzt weil mir noch erhebliches PHP-Wissen fehlte. Ich werds demnächst aber wieder angehen (müssen).