USB Port (Tastatur) auf Verfügbarkeit abfragen

Hallo,

ich habe folgendes Problem. In regelmäßigen Abständen hängt sich mein USB Port wo mein ELO Touchscreen dran hängt auf.
Dann kann ich keine Eingabe über den Bildschirm mehr machen.

Ein Programm zum starten des USB Ports habe ich schon gefunden ( http://www.ip-symcon.de/forum/threads/19784-22-quot-Multi-Toch-Monitor-Touchscreen-Perfekt-für-IPS-!/page2 Pos.20), aber wie bekomme ich mit das der Port (Touchscreen) nicht mehr verfügbar ist.

Kann mir da jemand helfen.

Gruß Uwe

https://decibel.ni.com/content/docs/DOC-6743

Müsste das gesuchte sein?
Eine USB Tastatur ist letzlich auch nur ein USB Device mit einer eindeutigen Hardware-ID.
Diese steht in der Registry bzw. Gerätemanager.

Weiter unten wird auf Devcon von MS verwiesen… das müsste das benötigte haben.
Prüfen ob bestimmtes Device (=HardwareID) verbunden ist, und falls nicht kann man den USB damit neu starten (oder mit deinem vorhandenem Programm)

Hast du auch eine ID wie ich das in IPS reinbekomme.

http://www.ip-symcon.de/forum/threads/17304-Systemscripte?highlight=systembefehle

nircmd?

Kenns aber nicht…

Bei meinem Touchscreen ( nicht ELO ) hab ich dasselbe Problem.
Eine Abfrage des Status mit devcon liefert aber immer OK.:confused:
http://www.ip-symcon.de/forum/threads/19784-22-quot-Multi-Toch-Monitor-Touchscreen-Perfekt-f%C3%BCr-IPS-!?p=205704#post205704

Ich habe ein Script für mein HID-Funkmodul, das findet über die VendorID usw das Gerät, verbindet es ev. und meldet es an XY-Ungelöst.
Ev ist es was für euch, habe alle Rem’s drin gelassen, war gut zur Inbetriebnahme:

<?
$hid_id =39812 /*[HID DISPLAY]*/;        // ID der HID-Instanz in IP-Symcon

$vendor_id = 5840;      // Vendor-ID des zu suchenden HID-Geräts, = Helmuts VID
$product_id =1206;    // Product-ID des zu suchenden HID-Geräts, Helmuts PID ist 1207 oder 1206

//$interval = 15;          // Kontrollintervall in Minuten

$instance = IPS_GetInstance($hid_id);
//print_r(HID_GetDevices($hid_id));

echo " HID Such Ergebniss:  ",$instance['InstanceStatus'] ;
    $found_device =false;
    $devices = HID_GetDevices($hid_id);
    foreach ($devices as $data);
//if ($instance['InstanceStatus'] ==200)
//{
   if (((int)$data['VendorID'] == $vendor_id) and ((int)$data['ProductID'] == $product_id) and ($instance['InstanceStatus'] ==200) ):
                HID_SetDeviceSerial($hid_id, (String)$data['DeviceSerial']);
                HID_SetDeviceVendorID($hid_id, $vendor_id);
                HID_SetDeviceProductID($hid_id, $product_id);
                IPS_ApplyChanges($hid_id);
    endif;
// }
                
                
    
//if ($instance['InstanceStatus'] ==102)
//{

   if (((int)$data['VendorID'] == $vendor_id) and ((int)$data['ProductID'] == $product_id)and ($instance['InstanceStatus'] ==102)):
                echo " Helmut's 1. HID-Gerät gefunden ";
               SetValueBoolean(31286 /*[HID Funk Modul\HID USB  Modul 1 da?]*/,false);
                $found_device = true;
            echo (String)$data['VendorID'];
            echo " ";
            echo (String)$data['ProductID'];
            echo " ";
            echo (String)$data['DeviceSerial'];
            echo " ";
                //HID_SetDeviceSerial($hid_id, (String)$data['DeviceSerial']);
                //HID_SetDeviceVendorID($hid_id, $vendor_id);
                //HID_SetDeviceProductID($hid_id, $product_id);
                //IPS_ApplyChanges($hid_id);
                //break;
	 endif;
//}
	 if ($instance['InstanceStatus'] >=103):
     //if (((int)$data['VendorID'] != $vendor_id) or ((int)$data['ProductID'] != $product_id)):
		  echo " Helmuts 1. HID-Gerät nicht gefunden ";
		  SetValueBoolean(31286 /*[HID Funk Modul\HID USB  Modul 1 da?]*/,true);
       //IPS_SetScriptTimer($IPS_SELF, $interval * 6);
     endif;
//echo HID_GetDeviceSerial($hid_id);
?>


Gruß Helmut

Wie komme ich an Vendor-ID und Pruduct-ID

Wenn das Gerät läuft im Windows Gerätemanager ;).

Hallo
Hab probiert mein Touchscreen als HID einzubinden wird in der Auswahlliste auch angezeigt
aber wegen „Schreibproblem“ nicht moeglich . :confused:keinW.png