HID lesen und schreiben

Hallo,
habe mein Touchscreen Touchsreen_128_x_64_mit_PIC_Kontroller Video - derhelmut - MyVideo ausgegraben bzw eine andere Bastelei (Relais und Eingänge über USB) und spiele diesmal unter V2 damit.

HID lesen im HID-Debug Fenster geht.

HID_SendEvent(34347 /[HID]/, 0, „R_Feuchte“);

das geht auch, laut HID-Debug Fenster lese ich die Antwort.
Nur wie bekomme ich die Antwort in Variablen eingelesen?

Muste schon einmal IPS V2 neu installieren, weil ich mit der Cutter Spielerei was verdaddelt hatte.

Einige User haben schon Wetterstationen mit HID eingelesen.

Hat jemand eine Anleitung für das Empfangen, Cutten bzw zuweisen von Variablen unter V2 für mich?
Möglichst mit Beispielen.

Gruß Helmut

Der mit der Wetterstation war ich. Ist aber schon länger her und Register Variable, die Instanz, die Du zwischenschalten musst, hat sich nach meinem Vorschlag geändert, sodass man für den Buffer keine externe Variable mehr braucht. Aber da hatte ich schon alles bequem als natives Modul fertig. Erstmal solltest Du Dir RegisterVariable - IP-Symcon :: Automatisierungssoftware durchlesen.

Dann mal eine ungefähre Anleitung: Register Variable erstellen, als übergeordnete Instanz dein HID-Device auswählen, Skript erstellen und als Zielskript auswählen. Dann im Skript die Auswertung vornehmen:

<?
$RegVarID = 12345;

$data = RegVar_GetBuffer($RegVarID).$IPS_VALUE;

// Verarbeitung
echo $data;

RegVar_SetBuffer($RegVarID, $data);
?>

Ist jetzt ungetestet runtergeschrieben. Kann gut sein, dass man sich das $RegVarID auch mit $IPS_INSTANCE ersetzen kann. Das Senden an das HID-Device, nehme ich an, sollte wohl auch mit RegVar_SendText($RegVarID, „hallo“) funktionieren.

Danke Horst,
habe es ausprobiert… die Instanzen angepasst. Geht so nicht, durfte wieder deinstallieren und installieren.
Habe mal meine Konfiguration abgebildet.

Bis zu dieser Ansicht funktioniert es immer super.
Was muss ich wo machen um die Daten aus meinem HID-Gerät nutzen zu können?
Der WAF ist auf 0, sitze zu lange an diesem Problem…:rolleyes:

Gruß Helmut

Hallo Helmut,

Registervariable hast Du angelegt und ein Script dazu.

Variablen im Script anlegen und mit $IPS_VALUE auslesen.

Die Instanzen entsprechend untereinander verbinden.

stelle fest:

Ich bekomme einen Cutter nicht auf mein HID-Gerät zugewiesen.

Das HID-Gerät ist da, läst sich auch mit HID_Event bequasseln.

Habe mal zum Test einen Cutter auf die FHZ-Instanz gebaut, das geht.

Habe mal 2 Bilder gemacht.
Was mache ich falsch?
Gruß Helmut

Nachtrag: Im Script von Horst findet er auch nicht mein HID Gerät, ist aber da?

Hallo Helmut,

aber der Registervariable kannst du HID zuweisen.

Hallo Rainer,
habe Registervariable erfogreich angelegt, bekomme aber mit dem Script von Horst keine Daten, obwohl was drin stehen müste.
Immerhin keine Fehlermeldung.
Wird der Cutter denn auf die Registervariable gesetzt?
Gruß Helmut

Edit: Nachdem ich Zielscript in der Registervariablen eingetragen habe bekomme ich eine Ausgabe vom Script, indem aber keine Daten sind.

Hallo Helmut,

ich sehe kein Script von Horst :eek:

Hast Du denn mal die Daten so ausgelesen wie Horst oben geschrieben hat. Wenn was drinnen steht siehst Du es auch. Probier es mal mit print_r($xxxx);
Daten stehen dann in den Meldungen.

$daten = $IPS_VALUE;
print_r($daten);

Script ist da, eine Echo Befehl auch…

Schreib doch mal meinen Code rein und befeuer dein Teil mal mit daten. Wenn was zurück kommt steht es in den Meldungen.

Mit echo wirst Du nicht weit kommen, da Du Exceute ausführen musst und warscheinlich eine Fehlermeldung erhälst.

Hallo Rainer,
ich hatte durch Zufall das Script im Hintergrund als ich mein HID-Gerät „befeuert“ hatte.

Da waren Daten in dem Moment lesbar, mache ich das HID-Terminal inaktiv, das Scriptfenster aktiv sind die Daten verschwunden.
Edit: wenn ich mit der Maus in das Ausgabefenster „markiere“ werden die Daten sichtbar… warum auch immer?

Sind nicht immer ASCII-Zeichen (so wie jetzt).
Könnte ja auch an meiner Grafikeinstellung liegen…?

Aber das Problem mit dem Splitter muß ich noch hinbekommen.

Edit: Scheinbar geht kein Cutter, muss ich wohl mit PHP-Code zerstückeln…

@Rainer und Horst, habt vielen Dank für eure Mühe mit mir!