Hallo
funktioniert unter der V2 eigentlich das BTkit noch?
(bin beim aufräumen gerade über das Teil gestolpert)
Im Verzeichnis „modules“ gibt’s zumindest noch eine BTkit.dll
Hab aber kein Instanz dazu gefunden.
Gruß
astrastar
Hallo
funktioniert unter der V2 eigentlich das BTkit noch?
(bin beim aufräumen gerade über das Teil gestolpert)
Im Verzeichnis „modules“ gibt’s zumindest noch eine BTkit.dll
Hab aber kein Instanz dazu gefunden.
Gruß
astrastar
Die DLL war mal drin und deswegen liegt sie im Modules Ordner. Das Modul ansich gab es aber nie und wird es auch nicht mehr geben.
paresy
schade, aber trotzdem danke für die schnelle Antwort.
astrastar
Kennt jemand eine andere Möglichkeit das Teil noch zu nutzen,
oder bleibt da nur der Weg über IPS1 bzw. in die Tonne treten?
gruß
astrastar
Hallo astrastar
und andere die unter V1 schon das BTKIT eingesetzt haben.
Da ich die Vorteile des BTKIT zur Übertragung von IR-Signalen beim Wechsel auf V2 auch vermisse, habe ich mal versucht das ganze per PHP-Code zu nutzen.
Bei meiner Lösung gibt es da ein paar Einschränkungen:
Ansonsten sind nur ein paar vorbereitende Schritte und mein PHP-Code notwending.
Zuerst kopiert man sich aus der settings.xml der IPS v1 den BTKIT-Bereich
zwischen <Settings> … und </Settings> in eine neue Textdatei. an den Anfang muß man noch <?xml version=‚1.0‘?> einfügen. Das ganze wird dann in das IPS V2 \scripts\ verzeichnis als .xml Datei abgelegt. (Beispiel im Anhang)
Unter IPS V2 wird dann eine IO-Instanz als Serieller Port angelegt und mit einem der seriellen Ports des BlueTooth-Sticks verbunden. (Bild)
Weiterhin wird eine RegisterVariable angelegt, mit diesem seriellen Port als übergerdnete Instanz. (Bild) Diese Registervariable ruft dann auch das folgende Script auf. Das Script vergleicht den empfangnen IR_Code mit denen in der XML-Liste und ordnet den Code-Namen bei Erfolg einer IPS-Variablen zu. Die kann dann wiederum eine andere Aktion triggern.
<?
// BTKIT
// Auswerteroutine für IR-Codes die per BTKIT empfangen wurden
// die Registervariable die mit einem seriellen Port des Bluetoothsticks
// verbunden ist liefert hier einen String der Form:
// <irevent base="4731" code="0d070107000417150f0534945564"/>
// als $IPS_VALUE an
//für Prüfzecke sichern
SetValue(42373 /*[Wohnzimmer\BTKIT_VALUE\BT_Event]*/,$IPS_VALUE);
$val = $IPS_VALUE;
// das ganze ein bischen zerschippeln
$val = rtrim($val,"/>");
$val = ltrim($val,"<");
// die Anführungzeichen brauchen wir nicht
$pat = '/"/';
$val = preg_replace($pat,'',$val);
//print $val.chr(10).chr(13);
$arr = split(' ',$val);
//print_r($arr).chr(10).chr(13);
// Wenn BTKIT einen IR-Event gesendet hat
If($arr[0] == "irevent"){
$base_arr = split('=',$arr[1]);
$code_arr = split('=',$arr[2]);
$base_val = $base_arr[1];
$code_val = $code_arr[1];
//echo "base: ".$base_arr[1].chr(10).chr(13);
//echo "code: ".$code_arr[1].chr(10).chr(13);
//Der IR_Suchcode
$search_code=$code_val;
// der herauskopierte BT_IR Teil der IPS V1 settings.xml lieget im
// Scriptverzeichnis als XML-Datei
// Name der Datei, hier: "IR_CODES.xml"
// XML Code als DOM-object laden
$doc = DOMDocument::load("IR_CODES.xml");
// Arrays für die drei Attribute der IR-Codes
$name = array(); $name[] = " ";
$base = array(); $base[] = " ";
$code = array(); $code[] = " ";
// Arrays mit den Attributen fütten
// Namen-Array
$content = $doc->getElementsByTagname('Name');
foreach($content as $item){
$name[] =$item->GetAttribute("Value");
}
// Base-Array
$content = $doc->getElementsByTagname('Base');
foreach($content as $item){
$base[] = $item->GetAttribute("Value");
}
// Code-Array
$content = $doc->getElementsByTagname('Code');
foreach($content as $item){
$code[] = $item->GetAttribute("Value");
}
//
$anzahl_elemente = count($name);
$pos = array_search($search_code,$code);
if($pos){
//Namen des IR-Codes in IPS-Variable zur späteren auswertung sichern
SetValue(11095 /*[Wohnzimmer\BTKIT_VALUE\IR-BT-Menue]*/,$name[$pos]);
echo "Gefunden!!".chr(10).chr(13)." Name: ".$name[$pos].chr(10).chr(13)." Code: ".$base[$pos].chr(10).chr(13)." Value: ".$code[$pos].chr(10).chr(13);
}else{
echo "Nichts gefunden!!";
}
//echo count($name);
}
?>
Ich hoffe es gibt noch ein paar IPS-User die das BTKIT nutzen und eventuell den Code nutzen oder auch erweitern.
Über eure Feedbacks würde ich mich freuen.
Stefan
Nah, das ist doch schon ein Anfang.
Hatte unter IPS V1 das BtKit meist zum Senden von IR Code genutzte, aber was nicht ist kann ja noch werden.
Vielleicht gibt’s ja noch ein paar BtKit User.
Werde das ganze bei nächster Gelegenheit mal testen.
Gruß
astrastar
Hab den Vorschlag das BTkit unter IPS v2 zu verwenden
nach Anleitungen / Nützliche PHP Scripte (Version 2.0) verschoben
Gruß
astrastar