Cutter nicht mehr auf eine HID Instance setzbar?

Kann man keinen Cutter auf eine HID-Instance anwenden? Warum nicht? Ging das nicht mal?

Gruß Helmut

Dass ich keine Antwort bekomme, kenne ich schon. Dann nenne ich es mal Feedback:

Hier in der Doku steht

Cutter Verarbeitet Binärdaten und zerschneidet/synchronisiert diese. Kann mit den Schnittstellenmodulen verwendet werden.

Darunter werden die möglichen Schnittstellen aufgelistet, darunter auch HID !!

Dann ändert Das mal, scheint ja nicht zu stimmen.

Gruß Helmut

Der Cutter kann leider nicht mit dem HID Modul betrieben werden. Tut mir leid.

paresy

Danke Paresy,
hier eine Lösungsvorschlag (von mir zusammenkopiert).

Registervarible mit dieser Aktion, Variablen und HID-Instance sind Vorraussetzung.

Stammt aus der Kommunikation mit einer dieser Basteleien, Reports sind Integer:

<?
//  *************************************************************************************************************************
//           Script zum Einlesen der Rückgabedaten bzw der Empfang von Befehle über das USB-HID Touch- Display (Daten)
//  *************************************************************************************************************************

switch($IPS_SENDER)        // ermitteln, wodurch das Skript aufgerufen wurde
{
 // case "Execute":         // von Hand aufgerufen: Schleife starten
  // break;
 // case "TimerEvent":                             // vom Timer aufgerufen: Schleife starten
  // break;
     

    case "RegisterVariable":                      // durch Registervariable aufgerufen: neuer Wert wurde empfangen


       SetValue(11684 /*[USB Display\Erdgeschoss_Low_Byte]*/, ord(substr ($IPS_VALUE, 2, 1)));
       SetValue(48068 /*[USB Display\Erdgeschoss_High_Byte]*/, ord(substr ($IPS_VALUE, 3, 1)));
       SetValue(14264 /*[USB Display\Obergeschoss_Low_Byte]*/, ord(substr ($IPS_VALUE, 4, 1)));
       SetValue(37595 /*[USB Display\Obergeschoss_High_Byte]*/, ord(substr ($IPS_VALUE, 5, 1)));
       SetValue(18005 /*[USB Display\Erdgeschoss_Zustand_Low_Byte]*/, ord(substr ($IPS_VALUE, 6, 1)));
       SetValue(15524 /*[USB Display\Erdgeschoss_Zustand_High_Byte]*/, ord(substr ($IPS_VALUE, 7, 1)));
       SetValue(43251 /*[USB Display\Temperatur Aussen]*/, ord(substr ($IPS_VALUE, 8, 1)));
       SetValue(52873 /*[USB Display\Temperatur_Bad_oben]*/, ord(substr ($IPS_VALUE, 9, 1)));
       SetValue(42934 /*[USB Display\Temperatur_Bad_unten]*/, ord(substr ($IPS_VALUE, 10, 1)));
       SetValue(14442 /*[USB Display\Temperatur_Kind1]*/, ord(substr ($IPS_VALUE, 11, 1)));
       SetValue(18161 /*[USB Display\Temperatur_Wohnzimmer]*/, ord(substr ($IPS_VALUE, 12, 1)));
       
      // SetValue(33790 /*[Objekt #33790 existiert nicht]*/, ord(substr ($IPS_VALUE, 12, 1)));
      // SetValue(29803 /*[Haus\RFID\SCL011\CardUID]*/, ord(substr ($IPS_VALUE, 13, 1)));
      // SetValue(28865 /*[Objekt #28865 existiert nicht]*/, ord(substr ($IPS_VALUE, 14, 1)));

    break;
}
?>

Und aktuell das Einlesen vom Ultraschall-Abstandsgerät über HID, hier kommen Ascii-Zeichen in den Reports:

<?
//  *************************************************************************************************************************
//           Script zum Einlesen der Rückgabedaten des US-Abstand Messgerät (Daten)
//  *************************************************************************************************************************
$Einheit = " cm";
switch($IPS_SENDER)                 // ermitteln, wodurch das Skript aufgerufen wurde
{
    case "RegisterVariable":             // durch Registervariable aufgerufen: neuer Wert wurde empfangen

   //Echo substr ($IPS_VALUE, 4, 1);     // Die einzelnen HID-Reports einlesen
   //Echo substr ($IPS_VALUE, 5, 1);     // steht in cm ab 4. Register als string sonst müßte ord( noch davor
   //Echo substr ($IPS_VALUE, 6, 1);
   
   $data  = substr ($IPS_VALUE, 4, 1);
    // nächste Stellen an $data anhängen
    $data .= substr ($IPS_VALUE, 5, 1);
    $data .= substr ($IPS_VALUE, 6, 1);
 //echo $data;                               // zur Kontrolle
 
 //echo strval ($data);                      // zur Kontrolle
 If (strval($data) > "0"):
 SetValue(22658 /*[Füllstand\Abstand vom US-Kopf]*/ ,$data); // Die Integervariable beschreiben
 SetValuestring(30954 /*[Füllstand\Abstand zum Medium]*/,strval($data).$Einheit); // DEm String noch die Einheit dazu schreiben
    break;
 Elseif  (strval($data) == "0"):
 SetValuestring(30954 /*[Füllstand\Abstand zum Medium]*/,"Fühlerfehler");
else:
endif;
}

Bei Fragen einfach mailen.