FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: justme1968 am 13 April 2015, 23:00:21

Titel: linux usb hid input modul
Beitrag von: justme1968 am 13 April 2015, 23:00:21
hallo zusammen,

im anhang gibt es die aller erste version eines fhem moduls um unter linux events von usb hid geräten in fhem zu integrieren.

mögliche anwendungen hierfür sind:
wie funktioniert das ganze:
ein physikalisches device kann mehrfach in der device liste auftauchen. 'moderne' tastaturen mit multimedia tasten erscheinen meist als gerät für die 'normalen' tasten und als gerät für die multimedia tasten. man kann so z.b. der normalen system tastatur die multimedia tasten klauen und exclusiv in fhem verfügbar machen und alle anderen tasten weiter auf systemebene und der konsole verwenden.

das hid device kann entweder exklusiv events an fhem liefern. das ist der default. oder die events landen zusätzlich auch noch ganz normal im betriebsystem.

wenn das device über die usb ids angelegt wird sollte es auch nach abziehen und wieder anstecken automatisch wieder gefunden werden. wenn es über eventX angelegt wurde kann sich beim abziehen und wieder anstecken der bezeichner ändern.


was fehlt noch:

was ist noch denkbar:

gruss
  andre

edit: ergänzungen von markus eingebaut
        neues attribut ignoredTypes um festzulegen welche event types ignoriert werden sollen

edit: statt device name oder bus:verdorr:device:version:eventTypes kann man im define jetzt auch die uniq id des device angeben.

edit: es gibt hier: https://forum.fhem.de/index.php/topic,51619.msg432921.html#msg432921 (https://forum.fhem.de/index.php/topic,51619.msg432921.html#msg432921) ein modul mit dem man harmony tasten per netzwerk übertragen kann. d.h. im harmony fall geht es jetzt auch ohne ir oder bluetooth.
Titel: Antw:linux usb hid input modul
Beitrag von: Wzut am 14 April 2015, 10:28:09
sowas hatte ich auch mal in C umgesetzt -> http://forum.fhem.de/index.php/topic,19144.0.html
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 14 April 2015, 10:46:47
dann sind wir scheinbar jetzt schon vier :)

die anderen versionen kannte ich bis jetzt nicht. der vorteil der version hier ist glaube ich das keine externen programme oder module  gebraucht werden sondern nur das fhem modul, das die events exklusiv in fhem landen und nicht z.b. auf der konsole und das es auch auf systemen die kein by-id haben mit dem abziehen und wieder anstecken klar kommt.

gruß
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Wzut am 14 April 2015, 12:33:57
Zitat von: justme1968 am 14 April 2015, 10:46:47
der vorteil der version hier ist glaube ich das keine externen programme oder module  gebraucht werden
In der Tat , hat was von "das Bessere ist der Feind des Guten" :)
Ich werde heute Abend mal dein Modul mit der 5 € Pollin Funk Fernbedienung testen.
Titel: Antw:linux usb hid input modul
Beitrag von: Wernieman am 14 April 2015, 14:42:18
Geht es eigentlich auch mit "Nicht-Ascii" Vernbediehungen? Also z.B. senden viele Infrarotfernbedienungen nicht ASCII-Zeichen .... dann würde man sich den kompletten lircd "kram" sparen ....
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 14 April 2015, 14:48:53
das geht prinzipiell mit jedem usb hid gerät das in /proc/bus/input/devices auftaucht.

manche devices senden kein key event sondern andere typen. die sind zur zeit im modul noch extra abgeschaltet. mit denen geht es aber auch. meine tastatur hier hat nur bei jeder taste auch noch zwei von diesen nicht key events erzeugt und ich war zu faul das richtig raus zu filtern.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Wernieman am 14 April 2015, 14:51:30
Mhhh ... was müste man denn machen, um es zu aktivieren?
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 14 April 2015, 14:53:19
wenn es nur ums testen geht zeile 358 auskommentieren oder besser inreturn undef if( $type == EV_SYN );umändern.
Titel: Antw:linux usb hid input modul
Beitrag von: Wernieman am 14 April 2015, 15:04:17
Werde ich mir (hoffentlich) am Wochenende ansehen ;o)
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 14 April 2015, 15:12:51
Super, teste ich heute Abend
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 14 April 2015, 20:20:34
hab es eben mit einer alten hama fernbedienung und dem zugehörigen empfänger probiert. geht problemlos.

um alle tasten zu bekommen muss man nur zwei devices einrichten weil die mediatasten wie volume,mute,... auf einem andern hid device wie die restlichen tasten liegen.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Wzut am 14 April 2015, 20:40:01
Ich habe es mit der Pollin FB und einem USB Keyboard getestet , klappt gut.
Die Ausgabe von $value können sein 0,1,2 ?
1 = key up->down, 2 = key down , 0 = key down-> up ?
Ich würde dem Modul noch ein Attribut spendieren mit dem sich festlegen lässt welche(r) dieser Werte man als Event haben möchte.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 14 April 2015, 20:43:37
was value bedeutet ist vom event typ abhängig. bei key events ist 1 = press, 0 = release und 2 = repeat.

attribute um die events einzuschränken kommen noch. auch um eventuell mehrere gleiche events innerhalb kurzer zeit zu unterdrücken.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 14 April 2015, 21:27:31
Alle Tasten von "Anderes Betriebssystem" des Hubs im Mapping, Key Events auf "down" beschränkt, andere Events eingebunden (Touchscreen!), disconnect Funktion.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 14 April 2015, 21:33:48
hallo markus,

das set disconnect brauchen wir nicht. du kannst einfach attr disable 1 setzen.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 14 April 2015, 21:58:21
disable ist permanent, disconnect für's UI gedacht, zwecks Debugging etc.
Ich hab mich grade noch zurückhalten können, dem Ding auch noch ein connect als Alias zu reconnect zu verpassen ;)
Melde den Hub gerade als "Windows PC" an FHEM an, mal sehen was da so alles ankommt.
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 15 April 2015, 01:42:17
Mehr Keys (alles was Win,Mac,PS3 und iPhone ausgespuckt haben) und ein paar Erkenntnisse:
- Hardwaretasten von Netbooks und Touchscreens lassen sich wunderbar nutzen
- Wer auch immer sich den Befehlssatz der PS3 Fernbedienung ausgedacht hat, war dabei betrunken
- Windows und Mac senden bei den meisten Tasten der FB (bizarre) Tastenkombinationen
- Harmony Wii auf FHEM klappt nicht (da scheinvar kein HID), anschliessend konnte ich allerdings die Taststur nicht mehr anmelden und hatte stattdessen 3 Wii Geräte in der Events Liste, darunter einen Gyrosensor: Morgen wird die Wiimote ausgepackt :)

tl;dr:
FHEM als Rechner mit "Other OS" anzumelden ist wahrscheinlich die beste Option, da dabei alle Tasten nur einfach belegt sind und die Anzahl auch locker ausreichen sollte.

M.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 15 April 2015, 13:55:39
ich habe die version im ersten post aktualisiert.

da sind deine erweiterungen mit drin und ein neue attribut ignoredTypes zum konfigurieren der event typen die ignoriert werden sollen.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 16 April 2015, 09:41:46
Hat jemand nen Touchscreen?
Falls ja, bitte mal die Version im Anhang testen :)
Habe zusätzlich noch den Code optimiert (EV_SYN raus, etc.).

Ich schlage vor dass wir das Modul so umbauen dass es in einer Schleife die Readings für Keys und andere Werte (ABS_X, ABS_Y, ...) erzeugt und dann beim passenden EV_SYN erst Events ausgibt.
Andre, was hältst du davon?
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 16 April 2015, 10:22:41
EV_SYN sollte automatisch durch ein passend gesetztes ignoredTypes attribut raus fliegen. bei einem neu angelegten hid device wird ignoredTypes automatisch auf EV_SYN,EV_MSC gesetzt. hat das bei dir nicht funktioniert ?

ich bin mir nicht sicher ob EV_SYN wirklich kommt. bei meinen ersten tests mit einem recht alten system sind die key events ohne syn gekommen.

ich würde die events lieber ohne verzögerung direkt ausliefern. im normal fall sollte es keinen unterschied machen und im fehler fall ist es robuster.

bei koordinaten und ähnlichem ist es eventuell sinnvoll diese zusammen zu fassen. ich hab mir noch nicht angeschaut wie maus oder touch events aussehen. da sollten wir vielleicht erst mal warten ob es dafür eine anwendung gibt und dann drüber nachdenken wie man das am besten umsetzt.

zusätzlich zu den ignored types würde ich gerne noch ein ignoredValues und ein allowedValues einbauen um zu konfigurieren ob nur key press oder auch repeat und release gemeldet werden soll. für volume up & down ist es schlecht nur die press events zu haben.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 16 April 2015, 12:37:43
EV_SYN brauchen wir erst wenn wir Werte zusammenfassen. Deshalb spare ich den Aufruf ein ;)
Für die anderen Key Events sehe ich aktuell keinen Einsatzzweck. Harmony kennt kein Repeat.
Titel: linux usb hid input modul
Beitrag von: justme1968 am 16 April 2015, 12:42:54
eine taste erzeugt meist drei events. syn, msc und key. bei msc und key hast du jetzt zwei if statt einem. ich weiß nicht ob das unterm strich wirsch spart.

aber andere keyboard kennen repeat.  die ir empfänger zum beispiel.

sendet die harmony auch für volume keine repeat?
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 16 April 2015, 13:42:53
Bei Key kommt tatsächlich ein Vergleich gegen EV_SYN dazu, den ich aber nicht nur weiter unten doppelt und dreifach eingespart habe sondern der auch den kompletten Code eine Zeile darauf verhindert :)
Die Häufigkeit und Reihenfolge der Checks spielt auch noch mit rein - der kürzeste Weg zum Return ist der beste ;)
Ist aber auch noch ein Copy/Paste Fehler drin.

Was und wie sendet IR denn? Keys?
Ich habe leider keinen Empfänger.

Die Harmony teste ich zur Sicherheit noch mal mit einer Taste doppelt auf den selben Key.
Titel: Antw:linux usb hid input modul
Beitrag von: Hans Franz am 16 April 2015, 19:30:08
Hallo,
wollte das auch 'mal mit einer just erstandenen IR-Fernbedienung(identisch mit Hama MCE Remote Control PC-Fernbedienung) ausprobieren.

Erhalte aber nur EV_MSC- und EV_SYN-events.

Internals:
   CFGFN
   CONNECTS   21
   DEF        event15
   FD         5
   LAST_DISCONNECT 2015-04-16 19:00:24
   NAME       hid
   NR         342
   NTFY_ORDER 50-hid
   STATE      Connected
   TYPE       linuxHid
   device     event15
   eventSize  24
   devices:
     HASH(0x4e57eb8)
     HASH(0x4c65af0)
     HASH(0x4e47990)
     HASH(0x2d41808)
     HASH(0x4cd5368)
     HASH(0x4cd4cc0)
     HASH(0x4e4d500)
     HASH(0x4e6a550)
     HASH(0x4e52e88)
     HASH(0x455b610)
     HASH(0x4bd5fa8)
     HASH(0x4ccf2a0)
     HASH(0x3d06ea0)
     HASH(0x4e5aa30)
     HASH(0x4e3daa0)
     HASH(0x3d05be8)
     HASH(0x4cd53c8)
   Helper:
Attributes:
   exclusive  1
   ignoredTypes 1
   room       test


ll  /dev/input/event15
crw-r----- 1 fhem dialout 13, 79 Apr 16 18:50 /dev/input/event15


lsusb
ID 05a4:9881 Ortek Technology, Inc. IR receiver [VRC-1100 Vista MCE Remote Control]


Mach' ich etwas falsch?

Gruß
Hans
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 16 April 2015, 19:36:52
ist event15 wirklich das richtige device? meine hama fb taucht wie oben beschrieben zwei mal auf.

zeig mal bitte die ausgabe von get hid devices

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: der-Lolo am 16 April 2015, 19:38:32
Hat mal jemand versucht die schnuckelige Fernbedienung vom Apple TV zu pairen...?
Titel: Antw:linux usb hid input modul
Beitrag von: Hans Franz am 16 April 2015, 19:47:35
$VAR1 = [
          {
            'eventTypes' => '0x3',
            'eventTypesStr' => 'EV_SYN,EV_KEY',
            'handler' => 'event0',
            'id' => {
                      'bus' => '0x0019',
                      'product' => '0x0001',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'keys' => '10000000000000 0',
            'name' => 'Power Button'
          },
          {
            'eventTypes' => '0x3',
            'eventTypesStr' => 'EV_SYN,EV_KEY',
            'handler' => 'event1',
            'id' => {
                      'bus' => '0x0019',
                      'product' => '0x0001',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'keys' => '10000000000000 0',
            'name' => 'Power Button'
          },
          {
            'eventTypes' => '0x120013',
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_MSC,EV_LED,EV_REP',
            'handler' => 'event2',
            'id' => {
                      'bus' => '0x0011',
                      'product' => '0x0001',
                      'vendor' => '0x0001',
                      'version' => '0xab41'
                    },
            'keys' => '402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe',
            'name' => 'AT Translated Set 2 keyboard'
          },
          {
            'eventTypes' => '0x120013',
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_MSC,EV_LED,EV_REP',
            'handler' => 'event3',
            'id' => {
                      'bus' => '0x0003',
                      'product' => '0x4101',
                      'vendor' => '0x062a',
                      'version' => '0x0110'
                    },
            'keys' => '1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe',
            'name' => 'MOSART Semi. 2.4G Keyboard Mouse'
          },
          {
            'eventTypes' => '0x1f',
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_REL,EV_ABS,EV_MSC',
            'handler' => 'event4',
            'id' => {
                      'bus' => '0x0003',
                      'product' => '0x4101',
                      'vendor' => '0x062a',
                      'version' => '0x0110'
                    },
            'keys' => '4837fff072ff32d bf54444600000000 1f0001 20f908b17c000 677bfad941dfed 9ed68000004400 10000002',
            'name' => 'MOSART Semi. 2.4G Keyboard Mouse'
          },
          {
            'eventTypes' => '0x13',
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_MSC',
            'handler' => 'event5',
            'id' => {
                      'bus' => '0x0003',
                      'product' => '0x000c',
                      'vendor' => '0x0d8c',
                      'version' => '0x0100'
                    },
            'keys' => 'e000000000000 0',
            'name' => 'C-Media USB Headphone Set  '
          },
          {
            'eventTypes' => '0x21',
            'eventTypesStr' => 'EV_SYN,EV_SW',
            'handler' => 'event6',
            'id' => {
                      'bus' => '0x0000',
                      'product' => '0x0000',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'name' => 'HDA Intel PCH Front Headphone'
          },
          {
            'eventTypes' => '0x21',
            'eventTypesStr' => 'EV_SYN,EV_SW',
            'handler' => 'event7',
            'id' => {
                      'bus' => '0x0000',
                      'product' => '0x0000',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'name' => 'HDA Intel PCH Line Out'
          },
          {
            'eventTypes' => '0x21',
            'eventTypesStr' => 'EV_SYN,EV_SW',
            'handler' => 'event8',
            'id' => {
                      'bus' => '0x0000',
                      'product' => '0x0000',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'name' => 'HDA Intel PCH Line'
          },
          {
            'eventTypes' => '0x21',
            'eventTypesStr' => 'EV_SYN,EV_SW',
            'handler' => 'event9',
            'id' => {
                      'bus' => '0x0000',
                      'product' => '0x0000',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'name' => 'HDA Intel PCH Front Mic'
          },
          {
            'eventTypes' => '0x21',
            'eventTypesStr' => 'EV_SYN,EV_SW',
            'handler' => 'event10',
            'id' => {
                      'bus' => '0x0000',
                      'product' => '0x0000',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'name' => 'HDA Intel PCH Rear Mic'
          },
          {
            'eventTypes' => '0x100013',
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_MSC,EV_REP',
            'handler' => 'event11',
            'id' => {
                      'bus' => '0x0019',
                      'product' => '0x0000',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'keys' => '7e40000 0 800000000000 0 0 1400b00100000 300180001100800 e000000000000 2',
            'name' => 'Eee PC WMI hotkeys'
          },
          {
            'eventTypes' => '0x21',
            'eventTypesStr' => 'EV_SYN,EV_SW',
            'handler' => 'event12',
            'id' => {
                      'bus' => '0x0000',
                      'product' => '0x0000',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'name' => 'HDA NVidia HDMI/DP,pcm=8'
          },
          {
            'eventTypes' => '0x21',
            'eventTypesStr' => 'EV_SYN,EV_SW',
            'handler' => 'event13',
            'id' => {
                      'bus' => '0x0000',
                      'product' => '0x0000',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'name' => 'HDA NVidia HDMI/DP,pcm=7'
          },
          {
            'eventTypes' => '0x21',
            'eventTypesStr' => 'EV_SYN,EV_SW',
            'handler' => 'event14',
            'id' => {
                      'bus' => '0x0000',
                      'product' => '0x0000',
                      'vendor' => '0x0000',
                      'version' => '0x0000'
                    },
            'name' => 'HDA NVidia HDMI/DP,pcm=3'
          },
          {
            'eventTypes' => '0x120013',
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_MSC,EV_LED,EV_REP',
            'handler' => 'event15',
            'id' => {
                      'bus' => '0x0003',
                      'product' => '0x9881',
                      'vendor' => '0x05a4',
                      'version' => '0x0110'
                    },
            'keys' => 'e080ffdf01cfffff fffffffffffffffe',
            'name' => 'HID 05a4:9881'
          },
          {
            'eventTypes' => '0x17',
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_REL,EV_MSC',
            'handler' => 'event16',
            'id' => {
                      'bus' => '0x0003',
                      'product' => '0x9881',
                      'vendor' => '0x05a4',
                      'version' => '0x0110'
                    },
            'keys' => '1f0000 2020000 3878d801d001 1e000000000000 0',
            'name' => 'HID 05a4:9881'
          }
        ];

Mit cat /dev/input/event15 erscheinen bei Druck auf Zahlentasten kryptische Zeichen. event16 ist der Mausteil der FB.

Gruß
Hans
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 16 April 2015, 19:56:10
event15 schaut richtig aus.

wenn beim cat etwas zu sehen ist solltest du in fhem im log und im event monitor auch etwas sehen. sobald es das device in fhem gibt sollte im cat nichts mehr zu sehen sein. wenn im cat immer noch etwas auftaucht stimmt die berechtigung eventuell nicht und fhem darf das device nicht öffnen.

ignoredTypes sollte auf EV_SYN,EV_MSC stehen.

gehen die anderen beiden tastaturen (event2 und event3) ?

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 16 April 2015, 20:06:03
Ok, die Harmony kann doch REPEAT senden.
Allerdings nur dann wenn die entsprechende Taste bei short/long mit dem selben Kommando belegt ist und mit einer (hohen) Wiederholrate, die die sinnvolle Nutzung in Verbindung mit der Verzögerung wirkungsvoll verhindert.

- EV_KEY REPEAT eingebaut
- EV_MSC Codes eingebaut
- EV_SYN Codes vorbereitet
- Variablennamen etwas aufgeräumt
Titel: Antw:linux usb hid input modul
Beitrag von: Hans Franz am 16 April 2015, 20:20:14
Im EventMonitor sind nur EV_MSC- und EV_SYN-events, dummerweise auch bei event2 (event3 muss ich erst 'mal finden  :) ).
Im log sehe ich bei Taste: 1
2015.04.16 20:17:43 5: type:4 code:4 value:
2015.04.16 20:17:43 4: type:4 code:4 value:
2015.04.16 20:17:43 4:  (KEY_3)
2015.04.16 20:17:43 5: type:1 code:69 value:
2015.04.16 20:17:43 5: type:0 code:0 value:
2015.04.16 20:17:43 4: type:0 code:0 value:
2015.04.16 20:17:43 4:  (KEY_RESERVED)
2015.04.16 20:17:43 5: type:4 code:4 value:
2015.04.16 20:17:43 4: type:4 code:4 value:
2015.04.16 20:17:43 4:  (KEY_3)
2015.04.16 20:17:43 5: type:1 code:69 value:
2015.04.16 20:17:43 5: type:0 code:0 value:
2015.04.16 20:17:43 4: type:0 code:0 value:
2015.04.16 20:17:43 4:  (KEY_RESERVED)
2015.04.16 20:17:43 5: type:4 code:4 value:
2015.04.16 20:17:43 4: type:4 code:4 value:
2015.04.16 20:17:43 4:  (KEY_3)
2015.04.16 20:17:43 5: type:1 code:79 value:
2015.04.16 20:17:43 5: type:0 code:0 value:
2015.04.16 20:17:43 4: type:0 code:0 value:
2015.04.16 20:17:43 4:  (KEY_RESERVED)
2015.04.16 20:17:43 5: type:4 code:4 value:
2015.04.16 20:17:43 4: type:4 code:4 value:
2015.04.16 20:17:43 4:  (KEY_3)
2015.04.16 20:17:43 5: type:1 code:79 value:
2015.04.16 20:17:43 5: type:4 code:4 value:
2015.04.16 20:17:43 4: type:4 code:4 value:
2015.04.16 20:17:43 4:  (KEY_3)
2015.04.16 20:17:43 5: type:1 code:69 value:
2015.04.16 20:17:43 5: type:0 code:0 value:
2015.04.16 20:17:43 4: type:0 code:0 value:
2015.04.16 20:17:43 4:  (KEY_RESERVED)
2015.04.16 20:17:43 5: type:4 code:4 value:
2015.04.16 20:17:43 4: type:4 code:4 value:
2015.04.16 20:17:43 4:  (KEY_3)
2015.04.16 20:17:43 5: type:1 code:69 value:
2015.04.16 20:17:43 5: type:0 code:0 value:
2015.04.16 20:17:43 4: type:0 code:0 value:
2015.04.16 20:17:43 4:  (KEY_RESERVED)


bei Taste: 2
2015.04.16 20:18:52 5: type:4 code:4 value:
2015.04.16 20:18:52 4: type:4 code:4 value:
2015.04.16 20:18:52 4:  (KEY_3)
2015.04.16 20:18:52 5: type:1 code:69 value:
2015.04.16 20:18:52 5: type:0 code:0 value:
2015.04.16 20:18:52 4: type:0 code:0 value:
2015.04.16 20:18:52 4:  (KEY_RESERVED)
2015.04.16 20:18:52 5: type:4 code:4 value:
2015.04.16 20:18:52 4: type:4 code:4 value:
2015.04.16 20:18:52 4:  (KEY_3)
2015.04.16 20:18:52 5: type:1 code:69 value:
2015.04.16 20:18:52 5: type:0 code:0 value:
2015.04.16 20:18:52 4: type:0 code:0 value:
2015.04.16 20:18:52 4:  (KEY_RESERVED)
2015.04.16 20:18:52 5: type:4 code:4 value:
2015.04.16 20:18:52 4: type:4 code:4 value:
2015.04.16 20:18:52 4:  (KEY_3)
2015.04.16 20:18:52 5: type:1 code:80 value:
2015.04.16 20:18:52 5: type:0 code:0 value:
2015.04.16 20:18:52 4: type:0 code:0 value:
2015.04.16 20:18:52 4:  (KEY_RESERVED)
2015.04.16 20:18:52 5: type:4 code:4 value:
2015.04.16 20:18:52 4: type:4 code:4 value:
2015.04.16 20:18:52 4:  (KEY_3)
2015.04.16 20:18:52 5: type:1 code:80 value:
2015.04.16 20:18:52 5: type:4 code:4 value:
2015.04.16 20:18:52 4: type:4 code:4 value:
2015.04.16 20:18:52 4:  (KEY_3)
2015.04.16 20:18:52 5: type:1 code:69 value:
2015.04.16 20:18:52 5: type:0 code:0 value:
2015.04.16 20:18:52 4: type:0 code:0 value:
2015.04.16 20:18:52 4:  (KEY_RESERVED)
2015.04.16 20:18:52 5: type:4 code:4 value:
2015.04.16 20:18:52 4: type:4 code:4 value:
2015.04.16 20:18:52 4:  (KEY_3)
2015.04.16 20:18:52 5: type:1 code:69 value:
2015.04.16 20:18:52 5: type:0 code:0 value:
2015.04.16 20:18:52 4: type:0 code:0 value:
2015.04.16 20:18:52 4:  (KEY_RESERVED)


cat hatte ich vor dem Umstellen der udev-Regel ausprobiert, bei exclusive=1 tauchen jetzt auch bei cat keine Zeichen mehr auf.

Gruß
Hans
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 16 April 2015, 20:28:14
gut. das heißt das auslesen geht.

was im log mit type 1 auftaucht sind die tasten. type 0 ist syn und type4 ist msc.

aber es scheint keinen value zu geben. deshalb werden die key events rausgefiltert.

bist du auf einem 64 bit system?

ich vermute es stimmt etwas mit dem decodieren nicht.

gruß
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Hans Franz am 16 April 2015, 20:31:07
Yep, 64bit.

Gruß
Hans
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 16 April 2015, 20:35:52
kannst du bitte mal versuchen in der unpack anweisung das i am ende durch den gleichen buchstaben zu ersetzen der davor verwendet wird. ich glaube ein S.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 16 April 2015, 20:42:30
und/oder das ! hinter dem i weg zu lassen.
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 16 April 2015, 21:26:52
Die Wiimote ist wegen der riesigen Menge an Events für mich leider nicht zu gebrauchen.
Die Codes hab ich trotzdem mal gepflegt ;)

          {
            'id' => {
                      'vendor' => '0x057e',
                      'product' => '0x0306',
                      'version' => '0x8500',
                      'bus' => '0x0005'
                    },
            'eventTypes' => '0x9',
            'eventTypesStr' => 'EV_SYN,EV_ABS',
            'handler' => 'event12',
            'name' => 'Nintendo Wii Remote Accelerometer'
          },
          {
            'eventTypes' => '0x9',
            'id' => {
                      'bus' => '0x0005',
                      'version' => '0x8500',
                      'product' => '0x0306',
                      'vendor' => '0x057e'
                    },
            'eventTypesStr' => 'EV_SYN,EV_ABS',
            'name' => 'Nintendo Wii Remote IR',
            'handler' => 'event13'
          },
          {
            'eventTypes' => '0x200003',
            'id' => {
                      'product' => '0x0306',
                      'version' => '0x8500',
                      'bus' => '0x0005',
                      'vendor' => '0x057e'
                    },
            'keys' => '10800000 0 0 10030000 6 0 0 0 0 1680 0 0 0',
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_FF',
            'handler' => 'event14',
            'name' => 'Nintendo Wii Remote'
          },
          {
            'eventTypes' => '0xb',
            'id' => {
                      'vendor' => '0x057e',
                      'product' => '0x0306',
                      'version' => '0x8500',
                      'bus' => '0x0005'
                    },
            'keys' => '10800000 0 0 13db0000 0 0 0 0 0 1680 0 0 0',
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_ABS',
            'name' => 'Nintendo Wii Remote Classic Controller',
            'handler' => 'event15'
          },
          {
            'eventTypes' => '0x9',
            'id' => {
                      'vendor' => '0x057e',
                      'bus' => '0x0005',
                      'version' => '0x8500',
                      'product' => '0x0306'
                    },
            'eventTypesStr' => 'EV_SYN,EV_ABS',
            'name' => 'Nintendo Wii Remote Motion Plus',
            'handler' => 'event16'
          }



btw: Ich bin hier auch auf 32bit
Titel: Antw:linux usb hid input modul
Beitrag von: Hans Franz am 16 April 2015, 22:00:53
Zitat von: justme1968 am 16 April 2015, 20:35:52
kannst du bitte mal versuchen in der unpack anweisung das i am ende durch den gleichen buchstaben zu ersetzen der davor verwendet wird. ich glaube ein S.
und/oder das ! hinter dem i weg zu lassen.

Perfekt. Funktioniert beides. Ist aber ein l.
Danke

Gruß
Hans
Titel: Antw:linux usb hid input modul
Beitrag von: siggi85 am 21 April 2015, 12:52:00
Was für kleine Funk- oder Bluetoothfernbedienungen nutzt ihr in Zusammenarbeit mit dem Modul so? Habt ihr eine günstige im Einsatz mit ca 10 Tasten, quasi als Alternative zu zB Homemativ Fernbedienungen (http://fernbedienung%20homematic)?
Und was habt ihr für Anwendungszwecke bisher mit dem Modul umgesetzt?
Titel: Antw:linux usb hid input modul
Beitrag von: Wzut am 21 April 2015, 14:53:10
z.B, http://www.pollin.de/shop/dt/MzIyODcyOTk-/Computer_und_Zubehoer/Hardware/Maeuse_Unterlagen_Joystick/PC_Funkfernbedienung_mit_USB_Empfaenger_X10.html kostet inzwischen 7 statt der von mir früher genannten 5 € :)
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 21 April 2015, 15:53:11
oder etwas in der art:

http://www.amazon.de/Schnurloser-Nummernblock-integrierter-Taschenrechner-Solarpanel/dp/B00FAD8DSS/ref=pd_sim_computers_1?ie=UTF8&refRID=0S17S3Q08VGRBZTAS45D (http://www.amazon.de/Schnurloser-Nummernblock-integrierter-Taschenrechner-Solarpanel/dp/B00FAD8DSS/ref=pd_sim_computers_1?ie=UTF8&refRID=0S17S3Q08VGRBZTAS45D)

http://www.amazon.de/gp/product/B00KYPJAMK/ref=pd_lpo_sbs_dp_ss_3?pf_rd_p=556245207&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=B002RWP9V4&pf_rd_m=A3JWKAKR8XB7XF&pf_rd_r=09YX205QND8TFPCY9YVD (http://www.amazon.de/gp/product/B00KYPJAMK/ref=pd_lpo_sbs_dp_ss_3?pf_rd_p=556245207&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=B002RWP9V4&pf_rd_m=A3JWKAKR8XB7XF&pf_rd_r=09YX205QND8TFPCY9YVD)

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 21 April 2015, 16:35:14
Wer bestellt jetzt mal einen dieser $3 Bluetooth Selfie Buttons und sieht nach was man damit anstellen kann? :)
Titel: Antw:linux usb hid input modul
Beitrag von: siggi85 am 21 April 2015, 17:22:08
Dann werde ich demnächst mal gucken. Denke die Fernbedienung sieht gut aus, für die Nummernblocks brauche ich nur noch einen Anwendungszweck. :D
Eine Art kleine "Multimedia" Tastatur wäre nice, um zB auf meinen Squeezeplayern (auf RPI) in die Nähe so ein Play / Pause / Stop / etc. zu schalten ohne gleich ein Handy in die Hand nehmen zu müssen. ;)

Danke für eure Antworten! :)
Titel: Antw:linux usb hid input modul
Beitrag von: Hans Franz am 22 April 2015, 00:00:05
Hallo,
Ich habe auch noch einen:
http://www.amazon.de/Schnurlos-Kabellose-deutsches-Tastaturlayout-Multimedia-Tasten/dp/B00GTQ0J4G/ref=sr_1_1?ie=UTF8&qid=1429651683&sr=8-1&keywords=mini+multimediatastatur (http://www.amazon.de/Schnurlos-Kabellose-deutsches-Tastaturlayout-Multimedia-Tasten/dp/B00GTQ0J4G/ref=sr_1_1?ie=UTF8&qid=1429651683&sr=8-1&keywords=mini+multimediatastatur), gerade getestet. :)

Auch diese Tastatur stellt zwei event-inputs zur Verfügung und die zugegebenermassen vielleicht etwas akademische Frage stellt sich, wie ich diese automatisch einbinde. Bei einer Zuordung über eventx kann sich x ja ändern (beim Raspi wird man nicht ständig etwas umstöpseln, bei meinem Test-fhem am Desktop aber schon).

Eine Zuordung über bus:vendor:device:version:eventTypes oder device-name wiederum bietet keine Möglichkeit, oder ich habe sie übersehen, zwischen Tastatur- und Maus/Multimediateil zu unterscheiden.

Ist aber in der Praxis wahrscheinlich völlig irrelevant.
Tolles Modul.

Gruß
Hans


Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 22 April 2015, 09:53:22
der :eventTypes teil ermöglicht genau die ungerscheidung zwischen tastatur, maus und media. in der liste die du mit get devices bekommst solltest du den unterschied an dieser stelle sehen.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Hans Franz am 22 April 2015, 10:45:48
Hallo,
Mann, bin ich blind!
Danke dir.

Gruß
Hans
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 24 April 2015, 20:05:27
ich habe gerade so einen button in betrieb genommen: http://www.satechi.net/index.php/satechi-bluetooth-button-series-media-button (http://www.satechi.net/index.php/satechi-bluetooth-button-series-media-button). da gibt es noch ein paar andere mehr oder wenige kleine fernbedienungen.

funktioniert z.b. für volume bei den sonos playern besser als der hm taster an der wand. ist nur leider fast so klein das er verloren geht :)

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Ma_Bo am 25 April 2015, 17:07:39
Hallo,
hat einer soetwas schon getestet, würde das überhaupt gehen ?

http://www.pollin.de/shop/dt/ODgwODgyOTk-/Computer_und_Zubehoer/Hardware/Tastaturen/Glas_Touchpad_Nummernblock_TYPHOON_SmoothPad_TI003.html

oder

http://www.pollin.de/shop/dt/NzgwODgyOTk-/Computer_und_Zubehoer/Hardware/Tastaturen/Glas_Touchpad_Nummernblock_TYPHOON_GlassedPad_TI002.html
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 26 April 2015, 21:46:26
Sollte beides gehen, scheint aber eine proprietäre Funkverbindung zu nutzen weshalb ich den Sinn darin nicht sehe.
Titel: Antw:linux usb hid input modul
Beitrag von: RoBra81 am 29 April 2015, 07:27:19
Hallo,

ich habe das Modul gestern mal erfolgreich mit meiner alten Medion X10 Fernbedienung getestet. Nun möchte ich mein FHEM um eine Infrarotfernbedienung erweitern und da stellt sich mir nach umfangreicher Internetrecherche die Frage, ob ein am GPIO angeschlossener Infrarotempfänger dazu gebracht werden kann, als HID zu arbeiten, oder ob ich in diesem Fall das LIRC-Modul einsetzen muss?

Vielen Dank
Ronny
Titel: Antw:linux usb hid input modul
Beitrag von: Wernieman am 29 April 2015, 09:55:59
Wenn es Kernel-Support gibt, dann könnte es als HID funktionieren.

Wenn nicht, dann mußt Du über lirc gehen.

ABER .. verwende bitte nicht das FHME-LIRC-Modul. Dieses hat, da es über polling funktioniert, einige Timingprobleme. d.h. Du drückst auf einen Knopf und erst Sekunden später (eine gefühlte Ewigkeit) wird geschaltet. Aber auch dafür gibt es Lösungen, dies auszudiskutieren sprengt aber den Rahmen dieses Threads, schließlich geht es hier um HID ..
Titel: Antw:linux usb hid input modul
Beitrag von: Wzut am 29 April 2015, 10:34:58
Zitat von: RoBra81 am 29 April 2015, 07:27:19
Nun möchte ich mein FHEM um eine Infrarotfernbedienung erweitern
Die Fa. Technisat hat vor Jahren ihre DVB Karten mit FB und einem USB Empfänger verkauft,
schaut z.B. so aus : http://www.ebay.de/itm/technisat-skystar-2-Dvb-s-Pc-/331541243044?pt=LH_DefaultDomain_77&hash=item4d3165e4a4
die Betonung liegt auf extern, denn es gibt auch die Variante wo der IR Empfänger mit Klinkenstecker direkt in die Karte gesteckt wird !
Der externe USB Empfänger bindet sich unter Linux als Tastatur ein und läuft bei mir ohne Probleme zusammen mit der Technisat FB und dem  hid input modul.

Aber warum denn nun unbedingt noch IR wenn die Medion X10 doch läuft ?
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 29 April 2015, 13:01:36
Da ich dank FireTV wieder an dem Punkt bin an dem ich mit der Harmony nicht das Gerät und FHEM gleichzeitig steuern kann: mit der Medion FB sollte es doch eigentlich möglich sein, auf die Harmony FB zu verzichten und stattdessen die X10 zu verwenden?!
Ich schau mal ob ich nicht noch eine rumliegen habe und ob die Schaltverzögerung praktikabel ist.
Titel: Antw:linux usb hid input modul
Beitrag von: RoBra81 am 29 April 2015, 13:05:42
Zitat von: Wzut am 29 April 2015, 10:34:58
Aber warum denn nun unbedingt noch IR wenn die Medion X10 doch läuft ?

Da ich ursprünglich auf der Suche nach einer wasserdichten Lösung diesen Thread aufmerksam gemacht wurde - und wasserdichte IR-Fernbedienungen habe ich gefunden...
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 29 April 2015, 13:05:54
das nicht gleichzeitig verstehe ich nicht. was meinst du genau?

wenn du eine harmony hast solltest du alles über die harmony machen. alles andere gibt mehr oder weniger große probleme mit dem smart state.

gruß
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 29 April 2015, 13:11:17
Das Modul hier gibt es ja quasi nur um innerhalb einer Activity FHEM steuern zu können.
Das klappt wunderbar solange man IR Geräte steuert, wenn sich der Hub aber mit einem BT Gerät (z.B. FireTV) verbindet, ist FHEM leider wieder außen vor.

Was meinst du mit Smart State?
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 29 April 2015, 13:23:43
du harmony kann doch bluetooth und ir gleichzeitig und du kannst in der firetv activity nich zusätzlich ein dummy ir gerät haben mit dem du fhem steuerst.

oder stehe ich gerade auf dem schlaucht?
Titel: Antw:linux usb hid input modul
Beitrag von: Markus M. am 29 April 2015, 16:20:30
Ja, glaube schon  :)
FireTV hat nur Bluetooth, FHEM auch, die Harmony kann nur ein BT Gerät auf einmal.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 29 April 2015, 16:47:41
die harmony kann zwischen bluetooth geräten umschalten. zumindest das fhem modul kann das.

und wenn das umschalten nicht geht würde ich eher einen ir empfänger verwenden und fhem damit ausrüste.n statt von der harmony auf eine ir fernbedienung umzusteigen. 
Titel: Antw:linux usb hid input modul
Beitrag von: Prof. Dr. Peter Henning am 30 April 2015, 07:57:56
Hat jemand dieses Modul schon mit der WS2800 Wetterstation auspobiert ? Deren USB-Stick ist auch als hid ausgeführt.

LG

pah
Titel: Antw:linux usb hid input modul
Beitrag von: forum-merlin am 01 Mai 2015, 15:34:59
Hallo @ All,

ich bin jetzt etwas verwirrt.
Ich habe den kompletten Harmony Thread gelesen, und auch diesen hier.

Danke erstmal dass ihr das möglich macht, und auch immer am Ball bleibt.

Aber wie eingangs schon erwähnt bin ich schon etwas verwirrt...
FHEM kann mit dem reinen Harmony Modul nur auf Activities reagieren und dann über ein Notify etwas triggern.
Das habe ich kapiert, und auch wie im Harmony Thread auf Seite 26 geschrieben umgesetzt.

Jetzt kommt für FHEM dieses neue Modul zum tragen das es ermöglicht ein HID Device zu nutzen um FHEM zu steuern.
So wie ich das verstehe ist das noch völlig ohne eine Verbindung zu Harmony zu betrachten oder?


Mein Ziel wäre es, dass ich zum Beispiel die Activity KINO starte.
Das löst bei mir schon einige FHEM trigger aus. Beispielsweise Leinwand runter, Licht scenario entsprechend, Je nach Uhrzeit und Rollos runter etc.
Aaaaaber, wenn ich auf PAUSE auf der Harmony drücke, soll ebenfalls was in FHEM getriggert werden.
Das ist aber in GeräteEbene. Und da geht NOCH nichts soweit ich das verfolgt habe.

Jetzt kommt aber meine "Verwirrtheit"...
Hier im Thread wird erwähnt, dass der HUB wohl BT Devices pairen können soll. Beispielsweise eine Tastatur. Dass er generell BT kann, weil Amazon FireTV und Stick BT "sprechen"
Ich kapiere grad nicht, was ich damit anfangen soll, bzw. was das Modul dazu bringt.

Was bringt mir die externe Tastatur, oder generell ein zusätzliches HID Device?
Ich kaufe doch eine Harmony um WENIGER auf dem Couchtisch liegen zu haben.

Aktuell sitze ich mit Tablet und Harmony da, und kann alles machen was ich will. Es fehlt aber die AUTOMATION dabei, weil ich manuell auf dem Tablet das Licht einschalten muss wenn ich Pause oder Stop drücke. Das ist es doch worum es geht oder nicht?

Eine einfache Fernbedienung in FHEM zu integrieren geht ja auch schon mit dem Umbau der ELRO Fernbedieung. Eine Brücke einlöten und eine Leiterbahn unterbrechen, und schon habe ich 4-8 Tasten auf die ich unterschiedliche Notifys triggern kann.

Gruß

Holger

Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 01 Mai 2015, 16:18:05
du hast recht mit der geräte ebene. du kannst mit der harmony aktuell nicht auf die pause taste an deinen dvd player reagieren.

aber du kannst dir in deine aktion zusätzlich die bluetooth oder ir tastatur zu fhem einbauen und dann einzelne tasten direkt an fhem senden.

d.h. du kannst auf geräte ebene zwar nicht auf ein beliebiges anderes gerät reagieren aber auf das 'fhem' hid device.

das kannst du dann entweder zur manuellen steuerung verwenden oder z.b. so automatisieren:

du legst z.b. auf die pause taste nicht das kommando für den dvd player sondern ein kommando an fhem. sobald fhem das kommando bekommt  sendet fhem über das harmony modul die pause und kann außerdem noch alles tun was du zusätzlich möchtest.

gruß
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: forum-merlin am 01 Mai 2015, 22:44:09
Hi Andre,
das klingt interessant! Aber auch irgendwie umständlich oder?
Hast Du da zufällig ein Code Beispiel aus Deiner Config rumfliegen?

Zitat von: justme1968 am 01 Mai 2015, 16:18:05
aber du kannst dir in deine aktion zusätzlich die bluetooth oder ir tastatur zu fhem einbauen und dann einzelne tasten direkt an fhem senden.
>> Heisst das dann nicht trotzdem, dass ich eine zweite Tastatur zur Harmony rumliegen habe?
>> und ist das HID Device innerhalb der Activity nicht dann Teil der GeräteEbene aus Sicht der Harmony Ultimate/bzw. HUB?

Zitat von: justme1968 am 01 Mai 2015, 16:18:05
du legst z.b. auf die pause taste nicht das kommando für den dvd player sondern ein kommando an fhem.
>> Wie jetzt?!
>> Ich weiss ich kann in der Desktop App Tasten neu einlernen oder belegen. Soweit OK, aber das is doch wieder GeräteEbene. Und da kann ich doch nichts an FHEM schicken.

Oder meinst Du mit der ZehnerTastatur... So als würde ich da eine Play/Pause taste definieren, und diese schickt als HID Device etwas an FHEM und das wiederum triggert in der harmony.pm dann den Play/PauseButton PLUS ein notify trigger?

Sorry für die blöden Fragen, aber ich stehe scheinbar grad auf dem Schlauch.

Gruß
Holger
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 01 Mai 2015, 22:58:55
je nach dem ob du am hub einen ir oder einen bluetooth empfänger hast fügst du deiner activity die media center tastatur oder den oben beschriebenen generic pc hinzu. für bluetooth musst du natürlich vorher beim device anlegen den hub auf bluetooth ebene mit dem fhem rechner pairen.

für dieses device hast du dann in der harmon software z.b die tasten f1-f10 zur verfügung die du auf eine beliebige harmony taste legen kannst.

wenn diese taste auf der harmony gedrückt wird bekommt fhem das auf auf geräte ebene mit über das hid modul mit. weil fhem (bzw der rechner auf dem fhem läuft) selber das gerät ist um das es geht.

auf der harmony drückst du z.b. pause -> es wird f1 an den fhem rechner geschickt -> in fhem hängt ein notify am hid modul für KEY_F1 -> fhem sendet über den hub pause an das gerät um das es eigentlich geht und schaltet zusätzlich das licht.

das 'fhem erhält keine nachrichten auf gräte ebene' bezieht sich darauf das der hub per tcp/ip nichts an fhem meldet wenn ein taste für ein beliebiges gerät gedrückt wurde. mit dem modul hier sendet der hub aber aktiv direkt per ir oder bluetooth etwas an einen pc. und das ist in diesem fall fhem.

das ganze ist deshalb umständlich weil es glaube ich keinen weg gibt auf einen harmony taste kommandos für zwei geräte gleichzeitig/nacheinander zu legen. also das pause kommando und die f1 taste für fhem. wenn du es per ir angehst könnte es möglich sein beide kommandos anzulernen und per raw oder sequenz zu senden. dann würde der umweg über fhem entfallen und beides direkt angesteuert.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 03 Mai 2015, 21:42:17
taucht die WS2800 bei einem cat /proc/bus/input/devices auf?

was für ein protokoll wird verwendet? klartext/ascii oder irgend ein binär format? gibt es eine dokumentation dazu?

zur zeit reicht das modul nur low level device events an fhem weiter. also die ebene tastendrücke, maus events. sowohl für den ascii fall als auch für ein binäres protokoll müsste man aufbauend auf die low level events zuerst die daten decodieren und dann an ein passendes fhem modul zur darstellung weiter leiten.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Prof. Dr. Peter Henning am 03 Mai 2015, 21:45:05
Nee, taucht nicht auf.

dmesg liefert für dieses Device:
3.949221] usb 1-1.3.1: new full-speed USB device number 6 using dwc_otg
[    4.068078] usb 1-1.3.1: New USB device found, idVendor=6666, idProduct=5555
[    4.084495] usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    4.095095] usb 1-1.3.1: Product: Weather Direct Light Wireless Device
[    4.103515] usb 1-1.3.1: Manufacturer: LA CROSSE TECHNOLOGY
[    4.111875] usb 1-1.3.1: SerialNumber: 0123456
[    4.166738] hid-generic 0003:6666:5555.0001: hiddev0,hidraw0: USB HID v1.11 Device [LA CROSSE TECHNOLOGY Weather Direct Light Wireless Device] on usb-bcm2708_usb-1.3.1/input0

Es gibt irgendein seit Jahren nicht mehr gepflegtes Programm, das damit zu Rande kommt.

Mal sehen, ob mir irgendetwas Schlaues einfällt.

LG

pah
Titel: Antw:linux usb hid input modul
Beitrag von: Wernieman am 04 Mai 2015, 12:20:57
Eigentlich sollte es doch auftauchen?

Siehe Logmeldung
usb-bcm2708_usb-1.3.1/input0
Titel: Antw:linux usb hid input modul
Beitrag von: Prof. Dr. Peter Henning am 04 Mai 2015, 12:59:50
Nein, definitiv nicht.

LG

pah
Titel: Antw:linux usb hid input modul
Beitrag von: farin1337 am 07 Juni 2015, 16:23:58
Hey,

bin gerade auch dabei das Modul auszuprobieren. Habe soweit auch alles ohne Probleme einrichten können d.h. Bluetooth Stick mit dem Harmony Hub gepairt, das jeweilige Event aus "/dev/input" ausgelesen und in FHEM eingerichtet. Ich kann das jeweilige Event aber nur auslesen, wenn ich am Raspberry im Bluetooth Gui beim "Hamony Hub" mit Rechtsklick auf "Input Service" klicke. Jetzt sehe ich das jeweilige Event bzw. Device unter "/proc/bus/input/devices". In Fhem selbst geht die Internalvariable State mit klick auf "set hid connect" auf den Status "Connected". Wenn ich aber jetzt auf der Harmony Fernbedienung eine beliebige Eingabe mache wie z.B. "Directionup" verliert der Bluetooth Stick die "Input Service" Verbindung d.h. ich muss wieder an mein Raspberry und im Bluetooth Gui die jeweilige Einstellung setzen. Hat jemand eine Idee woran das liegen könnte?
Habe auch schon versucht, den Raspi jeweils als Microsoft und Otherpc anzulegen. Die normale Bluetooth Verbindung von Stick zum Harmony Hub bleibt dauerthaft bestehen. Ich konnte bis jetzt noch keine Eingabe der Harmony über den Stick in FHEM auslegen. Ping Presence funktioniert über Bluetooth funktioniert einwandfrei.

Folgenden Stick verwende ich:
CSL - USB nano Bluetooth-Adapter V4.0

Gruß
Farin1337
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 07 Juni 2015, 17:13:10
bitte versuch erst mal den stick bzw. die tastatur auf betriebsystem ebene zum laufen zu bekommen.

d.h. kannst du mit der harmony tastendrücke erzeugen die du auf der konsole siehst? so lange das nicht geht geht wird auch das modul nicht gehen.

eventuell kannst du es mit einer normalen bluetooth tastatur mal durchspielen.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: farin1337 am 08 Juni 2015, 00:06:04
Hey,

vielen Dank für deine schnelle Antwort. Jetzt funktioniert alles einwandfrei musste die Aktion "Watch PC" einmal über den Laptop erstellen und dann übers Handy koppeln. Super Arbeit mit dem Modul jetzt funktioniert alles so wie ich es mir vorgestellt habe :).

Gruß
Farin1337
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 08 Juni 2015, 22:27:59
wie viele anwender gibt es denn inzwischen?

lohnt es sich das modul einzuchecken?

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: fraggle777 am 18 Juni 2015, 23:15:08
Hallo zusammen,

ich versuche seit einigen Abenden verschiedene USB-Geräte an meinem FHEM (auf RasPi unter XBIAN) ans Laufen zu bringen. Ziel ist eigentlich die Bedienung von Funksteckdosen mit der IR-Fernbedienung meines AV-Receivers. Ich habe dabei versucht, alle Anweisungen aus diesem Thread zu befolgen. Getestet habe ich einen flirc IR-Empfänger (keine Ahnung ob der HID ist), eine herkömmliche USB-Tastatur, eine Microsoft USB-Funktastatur und einen Logitech Presenter. In allen Fällen bekomme ich die Devices unter FHEM als "Connected" angezeigt, aber im Event Monitor werden bei Tastendruck keine Events angezeigt. Hat vielleicht jemand einen Rat für mich, wie ich meinen Fehler finden kann? Ich befürchte ja, dass es etwas mit der Rechtevergabe zu tun hat, aber leider kenne ich mich damit nicht wirklich aus.

Gruß und vielen Dank im Voraus für Eure Hilfe

Philip
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 19 Juni 2015, 08:12:12
als welcher user läuft fhem? wie sehen die rechte der device files aus?

was steht im log bei verbose 5?

gruß
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: fraggle777 am 19 Juni 2015, 13:28:21
Hallo Andre,

vielen Dank für Deine schnelle Antwort. FHEM läuft vermutlich unter dem User "fhem", jedenfalls wurde der angelegt, als ich FHEM installiert habe. Ich habe "fhem" dann manuell der Gruppe "input" hinzugefügt. Die Rechte der Device Files sehen wie folgt aus:

Zitat
xbian@xbian ~ $ ls -al /dev/input
total 0
drwxr-xr-x  4 root root     180 Jun 18 21:08 .
drwxr-xr-x 14 root root    2700 Jun 19 07:57 ..
drwxr-xr-x  2 root root     140 Jun 18 21:08 by-id
drwxr-xr-x  2 root root     100 Jun 18 21:08 by-path
crw-rw---T  1 root input 13, 64 Jun 18 21:08 event0
crw-rw---T  1 root input 13, 65 Jun 18 21:08 event1
crw-rw---T  1 root input 13,  0 Jun 18 21:08 js0
crw-rw---T  1 root input 13, 63 Jun 18 21:08 mice
crw-rw---T  1 root input 13, 32 Jun 18 21:08 mouse0

Zitatwas steht im log bei verbose 5?
Das verstehe ich leider nicht. Soll ich bei dem angelegten linuxHid-Device event1 das Attribut verbose auf 5 setzen und dann im log schauen?

Sorry, ich stehe da echt auf dem Schlauch  :-[

Gruß

Philip
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 19 Juni 2015, 13:56:22
steck mal fhem mit in die gruppe input. das ist vermutlich das einfachste.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: fraggle777 am 19 Juni 2015, 14:05:36
Hallo Andre,

das habe ich gemacht (siehe oben). Ohne bekomme ich gar nicht connected.

Gruß

Philip
Titel: Antw:linux usb hid input modul
Beitrag von: jondoe am 29 Juni 2015, 21:21:04
Hallo zusammen,
habe leider ein Problem.
Tastendrücke meiner Hama Fernbedienung werden nicht erkannt.


liegt wohl an:
2015.06.29 21:15:44 3: hid0: error opening /dev/input/event0
2015.06.29 21:15:44 3: hid1: error opening /dev/input/event1

Habe fhem mit : sudo adduser fhem root : Rootrechte zugewiesen ( hoffe ich  :) )

get devices liefert:
VAR1 = [
          {
            'keys' => 'e080ffdf 1cfffff ffffffff fffffffe',
            'handler' => 'event0',
            'name' => 'HID 05a4:9881',
            'id' => {
                      'bus' => '0x0003',
                      'version' => '0x0110',
                      'product' => '0x9881',
                      'vendor' => '0x05a4'
                    },
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_MSC,EV_LED,EV_REP',
            'eventTypes' => '0x120013'
          },
          {
            'keys' => '1f0000 0 2020000 3878 d801d001 1e0000 0 0 0',
            'handler' => 'event1',
            'name' => 'HID 05a4:9881',
            'id' => {
                      'bus' => '0x0003',
                      'version' => '0x0110',
                      'product' => '0x9881',
                      'vendor' => '0x05a4'
                    },
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_REL,EV_MSC',
            'eventTypes' => '0x17'
          }
        ];

kann mir jemand sagen was ich falsch mache ?
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 29 Juni 2015, 21:51:28
@fraggle777: sorry. hatte deine antwort nicht gesehen. wie ist der aktuelle stand? was gibt ein 'groups fhem' auf der kommandozeile?

@jondoe: mit sudo weisst du fhem keine root rechte zu. du kannst entweder fhem in die gleiche group stecken wie die /dev/input/... devices, die permissions für die device files ändern oder fhem als root laufen lassen.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: jondoe am 30 Juni 2015, 19:29:33
Hallo andre,
habe jetzt fhem in die group input gesteckt.
Nach an und abstecken des Epfängers hat es dann funktioniert !!!  :D :D :D

Im Event Monitor erschein z.B.
2015-06-30 19:23:29 linuxHid hid0 EV_KEY: KEY_UP

Jetzt stell ich halt noch eine dümmere Frage als vorher!
Warum funktioniert das so nicht ?

define RC_Light_On notify hid0:KEY_UP set Lampe_rechts on

Würde mich über eine Antwort freuen
gruss Dirk
Titel: Antw:linux usb hid input modul
Beitrag von: fraggle777 am 30 Juni 2015, 21:02:03
Hallo Andre,

bei mir klappt es jetzt ohne Probleme, seit ich von meinem alten RasPi mit Xbian auf einen neuen RasPi 2 mit wheezy gewechselt habe. Fhem zur Gruppe Input hinzugefügt und Fhem erkennt ohne Probleme die angelernten Tasten meines flirc IR-Sensors. Nur noch eine (IR-)Fernbedienung für Musik, Fernseher, Kodi, FireTV UND Licht  :)

Danke für die Hilfe!

Gruß

Philip
Titel: Antw:linux usb hid input modul
Beitrag von: fraggle777 am 30 Juni 2015, 21:11:07
@jondoe: probier es mal so: define RC_Light_On notify hid0:EV_KEY:.KEY_UP set Lampe_rechts on

Gruß

Philip
Titel: Antw:linux usb hid input modul
Beitrag von: jondoe am 30 Juni 2015, 23:24:13
Danke Philip,
das funktioniert  :)

Gruß Dirk
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 02 August 2015, 20:57:50
Hallo zusammen,

ich habe das Modul jetzt auch getestet, finde es toll und würde es gerne im "Normalbetrieb" verwenden. Ich versuche es zusammen mit einem Raspberry und dem Harmony Hub zum Laufen zu bekommen, was mir nach einigen Schwierigkeiten grundsätzlich auch schon gelungen ist und ich Lampen mit der Harmony schalten kann (Windows PC in der Harmony angelegt, über Bluetooth gepaired, Funktionstasten in FHEM mit notify abgefragt).

Einen Schönheitsfehler hat es jedoch: Wenn ich in der Harmony eine Aktion beende, wo das FHEM Gerät drin ist, dann beendet der Hub die Bluetooth Verbindung zum Raspberry. Beim nächsten Start der Aktion versucht Harmony die Verbindung zum Raspberry wieder aufzubauen, aber das gelingt ihr nicht. Nach einiger Zeit kommt die Aufforderung die Geräte erneut zu pairen. Das ist zwar nicht nötig, aber ich muss am Raspberry zu diesem Zeitpunkt das Gerät neu als Input Device connecten:

sudo bluez-test-input connect 00:04:20:EB:F6:B7 yes

und zu allem Übel dann auch noch FHEM neu starten, damit die Tasten-Events wieder ankommen.

Was mache ich falsch? Kann ich das irgendwie automatisieren, dass die Verbindung automatisch wieder aufgebaut wird?

Vielen Dank und lG.

Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 02 August 2015, 21:18:02
lass das fhem gerät in allen activities drin und konfiguriere es zusätzlich so das das gerät eingeschaltet bleibt.

dann sollte die verbindung auch bestehen bleiben.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 04 August 2015, 00:07:12
Hallo Andre, danke schön für deine Hilfe,

das habe ich an sich so gemacht, d.h. das Gerät ist in allen Activites drin und in der Harmony konfiguriert als "hat keinen Ein/Aus-Schalter". Habe heute auch mit anderen Betriebseinstellungen experimentiert und keine Fortschritte erzielt - letztendlich wird die Bluetoothverbindung getrennt und kann beim nächsten Einschaltversuch nicht wieder hergestellt werden. Und selbst wenn sie wirklich beim Umschalten nicht beendet werden würde ist das aus meiner Sicht keine stabile Lösung. Wenn die Verbindung mal abbricht oder die Geräte bei Stromausfall neu starten, ist nicht gewährleistet, dass danach die Verbindung wieder sicher steht.

Extensives googeln hat auch keine Erleuchtung gebracht - ist es mit dem Bluez-Stack tatsächlich nicht möglich auf Anfrage des Geräts wieder als Input Device mit dem Rasperry zu connecten? Habe das mit meinem Android Phone ausprobiert - dort ist das überhaupt kein Thema. Trennen und Wiederverbinden mit der Harmony geht völlig ohne Probleme.

Nach meinem Urlaub habe ich geplant, mich weiter in das Thema "udev-Richtlinien" einzulesen (geht das damit?) bzw. als eher unschöne Möglichlichkeit im Hintergrund ein Script laufen zu lassen, das regelmäßig versucht eine Verbindung herzustellen.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 04 August 2015, 00:10:20
die verbindung vom hub habe ich mit einem mac getestet und hatte auch nie probleme.

zum raspebrry pi kann ich dir nicht wirklich etwas sagen. ausser das der kleine 'smart button' den ich weiter oben verlinkt habe nach einer getrennten verbindung zwei tastendrücke braucht bis er wieder verbunden ist.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: hexenmeister am 04 August 2015, 02:39:37
Habe zufällig das hier gefungen und da fiel es mir ein: ich habe doch irgendwo ein X10 Funkfernbedienung nutzlos herumliegen.
Jetzt nicht mehr (nutzlos) ;)
Ein cooles Modul, danke!
Ich bin fürs Einchecken.

Grüße,
Alexander
Titel: Antw:linux usb hid input modul
Beitrag von: Olaf A am 08 August 2015, 18:50:41
Hallo Ihr Danke für das Modul.
Ich habe bei mir icht nur eine X10 Funkfernbedienung in Betrib sondern drei für meine Rechner.
Damit sie sich nicht gegensetig beharken hat jede von Ihnen einen anderen Kanal/Codeschlüssel (1-3).
Im Event monitor ist leider der schlüssel nicht mit dabei muss ich irgenwo noch einen Haken setzen um diesen zu sehen.

Absonsten habe ich da einige schwierigkeiten.

Gruß Olaf
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 08 August 2015, 18:53:18
schalte mal verbose auf 5 und schau im log in sich die fernbedienungen dort unterscheiden.

kann man am empfänger etwas einstellen?

gruß
andre
Titel: Antw:linux usb hid input modul
Beitrag von: Olaf A am 08 August 2015, 19:41:18
Hallo Justme,

hab ich gemacht aber ich finde keinen Unterschied die Anzeige ist die selbe.
Bei beiden Fällen sehe ich nur:
2015-08-08 19:29:33 linuxHid hidX10 EV_KEY: KEY_352
und keine weiteren Angaben.
Bei den Einstellungen kann ich auch nicht machen.

Danke für deine schnelle Antwort.

Gruß Olaf
Titel: Antw:linux usb hid input modul
Beitrag von: Wzut am 08 August 2015, 19:52:54
Zitat von: justme1968 am 08 August 2015, 18:53:18
kann man am empfänger etwas einstellen?
nein die Kanäle werden an der FB eingestellt. siehe http://www.vdr-wiki.de/wiki/index.php/Fernbedienung_-_USB_X10
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 08 August 2015, 19:55:53
im fhem log schauen ob es dort einen unterschied gibt. nicht im event monitor.

du kannst auch versuchen die anderen event typen frei zu schalten und schauen ob du dort einen unterschied siehst.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Wernieman am 08 August 2015, 20:56:35
Genau das ist das Problem .. ein HID-Gerät wird wie eine Tastatur behandelt. Das da mehrere Fernbediehnungen dahinterstehen ...
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 08 August 2015, 20:58:31
die tastatur events sind natürlich gleich. aber die raw events sollte man auch sehen. wenn es einen unterschied gibt dann da.
Titel: Antw:linux usb hid input modul
Beitrag von: Olaf A am 08 August 2015, 22:17:49
Ich habe keine raw events gesehen wo finde ich die den?
Gruß Olaf
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 08 August 2015, 22:20:45
über ignoredTypes alle events erlauben. dann mit verbose 5 in fhem log nachschauen.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Olaf A am 09 August 2015, 16:47:59
Hallo Justme,

hab ich mal gemacht und das kam raus.
Jede Richung die ich da gegebne habe ist auf einer anderen Fernbedienung und einem anderen Code gesendet worden.

2015.08.09 16:39:38 4:  (KEY_UP)
2015.08.09 16:39:38 5: Triggering hidX10 (1 changes)
2015.08.09 16:39:38 5: Notify loop for hidX10 EV_KEY: KEY_UP
2015.08.09 16:39:38 5: statistics Statistik: Notify.260 Notification of 'hidX10' received. Device not monitored.
2015.08.09 16:39:38 5: type:0 code:0 value:0
2015.08.09 16:39:38 5: type:1 code:103 value:0
2015.08.09 16:39:38 5: type:0 code:0 value:0
2015.08.09 16:39:39 5: type:4 code:4 value:31
2015.08.09 16:39:39 5: type:1 code:106 value:1
2015.08.09 16:39:39 4: type:1 code:106 value:1
2015.08.09 16:39:39 4:  (KEY_RIGHT)
2015.08.09 16:39:39 5: Triggering hidX10 (1 changes)
2015.08.09 16:39:39 5: Notify loop for hidX10 EV_KEY: KEY_RIGHT
2015.08.09 16:39:39 5: statistics Statistik: Notify.260 Notification of 'hidX10' received. Device not monitored.
2015.08.09 16:39:39 5: type:1 code:106 value:0
2015.08.09 16:39:39 5: type:0 code:0 value:0
2015.08.09 16:39:42 5: type:4 code:4 value:34
2015.08.09 16:39:42 5: type:1 code:108 value:1
2015.08.09 16:39:42 4: type:1 code:108 value:1
2015.08.09 16:39:42 4:  (KEY_DOWN)
2015.08.09 16:39:42 5: Triggering hidX10 (1 changes)
2015.08.09 16:39:42 5: Notify loop for hidX10 EV_KEY: KEY_DOWN
2015.08.09 16:39:42 5: statistics Statistik: Notify.260 Notification of 'hidX10' received. Device not monitored.
2015.08.09 16:39:42 5: type:0 code:0 value:0
2015.08.09 16:39:42 5: type:1 code:108 value:0
2015.08.09 16:39:42 5: type:0 code:0 value:0
2015.08.09 16:39:43 5: type:4 code:4 value:29
2015.08.09 16:39:43 5: type:1 code:105 value:1
2015.08.09 16:39:43 4: type:1 code:105 value:1
2015.08.09 16:39:43 4:  (KEY_LEFT)
2015.08.09 16:39:43 5: Triggering hidX10 (1 changes)
2015.08.09 16:39:43 5: Notify loop for hidX10 EV_KEY: KEY_LEFT
2015.08.09 16:39:43 5: statistics Statistik: Notify.260 Notification of 'hidX10' received. Device not monitored.
2015.08.09 16:39:43 5: type:0 code:0 value:0
2015.08.09 16:39:43 5: type:1 code:105 value:0
2015.08.09 16:39:43 5: type:0 code:0 value:0

Eventmonitor ein wenig später.

2015-08-09 16:48:57 linuxHid hidX10 EV_KEY: KEY_UP
2015-08-09 16:48:58 linuxHid hidX10 EV_KEY: KEY_RIGHT
2015-08-09 16:48:58 linuxHid hidX10 EV_KEY: KEY_DOWN
2015-08-09 16:49:00 linuxHid hidX10 EV_KEY: KEY_LEFT


Ich sehe da keinen logischen Zusammenhang.
Gruß Olaf
Titel: Antw:linux usb hid input modul
Beitrag von: Olaf A am 15 August 2015, 15:11:56
Hallo Ihr,
das mit den Coden habe ich immer noch nicht gefunden.

Aber hat den jemand das Ereignis in einen DOIF Befehl eingebaut?
Im Notify klappt das bei mir super aber im DOIF habe ich so meine Probleme beim Einbau.

define TESTTV notify hidX10:EV_KEY:.KEY_377 set HM_TV_D on
Das klappt super aber wenn ich das in DOIF setze:
define Test DOIF ([hidX10:EV_KEY:.EV_KEY377]) (set HM_TV_D on)
bekomme ich immer folgende Angabe:
"Test DOIF: unknown expression format: .EV_KEY377"

Hat das schon jemand hin bekommen?

Gruß Olaf 
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 15 August 2015, 18:55:21
worauf hast du ignoredTypes gesetzt?

gibt es einen andere anwendung die mit deinem empfänger die unterschiedlichen remotes unterscheiden kann? eventuell kann der empfänger das ja auch absichtlich nicht.

zu DOIF kann ich dir nichts sagen.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Olaf A am 15 August 2015, 19:24:14
Hallo Andre,

Ich habe jetzt die Standarte Einstellung genommen, es aber auch ohne ohne Typen probiert.
Das hatte aber keinen sichtbaren unterschied gebracht.
Ich habe mir mit Joachim mal das Modul angeschaut.
Es gibt dort eine Zeile die Daten von der Fernbedienung  ausgepackt wird. Kann es sein, das dort Daten verloren gehen?

Gruß Olaf
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 15 August 2015, 19:34:21
das was in zeile 493 ausgepackt wird ist das was nach der spezifikation die ich gefunden hatte geliefert wird.

du kannst mal versuchen den kompletten buffer byte weise auszugeben und schauen ob da noch mehr kommt.

eigentlich müssten auch low level raw events kommen. da sollten solche dinge mit drin stehen. das ist zumindest bei (manchen?) ir empfängern so. die sehe ich in deinen logs aber nicht.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Olaf A am 16 August 2015, 16:58:59
Hallo Andre,

ich habe mit Puschel im Berich DOIF einwenig geplauder:
http://forum.fhem.de/index.php?topic=40075.msg323134#msg323134 (http://forum.fhem.de/index.php?topic=40075.msg323134#msg323134)

Dabei ist rausgekommen, dass der zweite ":" das Problem beim DOIF ist.
Ist es möglich diesen zu entfernen?

Gruß Olaf
Titel: Antw:linux usb hid input modul
Beitrag von: Olaf A am 16 August 2015, 17:24:37
Hallo Ihr,

damit das DOIF jetzt funktioniert solltet Ihr folgendes machen
Zeile in notify:
define TEST notify hidX10:EV_KEY:.KEY_377 set HM_TV_D on

und im DOIF wie folgt:
define Test DOIF ([hidX10:?KEY_377]) (set HM_TV_D on)

Danke noch mal an igami und Puschel74.

Gruß Olaf
Titel: Antw:linux usb hid input modul
Beitrag von: Puschel74 am 16 August 2015, 17:30:02
Äh, du brauchst nicht noch extra auf meinen Blödsinn verweisen den ich geschrieben hab  :-[
Im Endeffekt hat dir igami ja dann richtig geholfen  ;)
Aber ich hab auch was dabei gelernt  ::)
Titel: Antw:linux usb hid input modul
Beitrag von: Olaf A am 16 August 2015, 20:15:25
Na da sehen wir beide nicht gut aus.
Aber den nenne ich es hält Gemeinschaftsarbeit  :)

Gruß Olaf
Titel: Antw:linux usb hid input modul
Beitrag von: Firetic am 26 August 2015, 17:40:19
Ich versuche auch gerade das Modul zusammen mit meinem HarmonyHub in Betrieb zu nehmen. Leider scheitere ich schon daran den Hub mit meinem Cubietruck über Bluetooth zu verbinden.

Mein Bluetooth Stick läuft bis jetzt nur zur Anwesenheitskontrolle... Jetzt weiß ich nicht welche Befehle ich zum koppeln ausführen muss.

Könnte mir jemand auf die Sprünge helfen? Danke schonmal...
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 26 August 2015, 18:00:04
auf harmony seite legst du einen pc an und fügst eine bluetooth tastatur hinzu. das geht nur mit der app.

auf cubie seite musst du das gleiche tun das du zum pairen einer normalen bluetooth tastatur tun würdest.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Firetic am 26 August 2015, 19:01:13
Das ist leider der Punkt wo ich hänge :-(

Habe es mit "bluez-simple-agent" probiert aber leider scheint es das auf meinen Cubietruck nicht zu geben (Jessie Image). Befürchte das ich mein System wohl mit einem aktuellerem Image neu aufsetzen muss...

Oder es hätte noch jemand einen Vorschlag der zufällig die gleichen Probleme hatte ;-)
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 01 September 2015, 20:22:58
Hi Firetic,

hier die Infos zur Verbindung über Shell, die ich mir aus verschiedenen Beiträgen zusammengeschrieben haben (wie gesagt, ich habe einen Raspberry).

Bluetooth & HID Module Installation
----------------------

Erst mal das System aktualisieren und das bluetooth Package mit ein paar Tools installieren:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt-get install bluetooth bluez-utils blueman


Bluetooth starten und Harmony pairen:
hcitool dev
hcitool scan

sudo bluez-simple-agent hci0 00:04:20:EB:F6:B7


However, this command failed for me with a cryptic error message ('Creating device failed: org.bluez.Error.AuthenticationRejected: Authentication Rejected').
I changed the one occurrence of 'KeyboardDisplay' with 'DisplayYesNo'

sudo vi /usr/bin/bluez-simple-agent

sudo bluez-simple-agent hci0 00:04:20:EB:F6:B7

sudo bluez-test-device trusted 00:04:20:EB:F6:B7 yes


Pairing mit Harmony aus der Mobile App heraus, und während Pairingprozess als Inputdevice verbinden:

sudo bluez-test-input connect 00:04:20:EB:F6:B7 yes
Titel: Antw:linux usb hid input modul
Beitrag von: mrbreil am 16 September 2015, 21:57:11
Hallo, erstmal möchte ich sagen das dieses Modul genau das ist was ich benötige um endlich meine Abschaltung beim einschlafen zu realisieren, leider bekomme ich das nicht hin.

Meine Hardware:

Harmony Hub
Fire Box (Bluetooth)
Fernseher (IR)
Fhem  (debian wheezy)

Habe mir jetzt die von #Wzut "beworbene" X10 Medion Fernbedienung bei Pollin bestellt, da ich ja Bluetooth nicht nutzen kann, da Bluetooth ja mit der Firebox belegt ist, wenn ich das richtig verstanden habe.

Als ersten ist mir nicht klar welche Version des Moduls nun die Aktuelle ist, die aus Post #1 oder #34?
Habe es mit beiden probiert.

Konnte am Anfang fhem nicht der Gruppe input zuweisen, weil diese nicht existierte, also habe ich sie erstellt und folgendes ergoogelt.

mkdir -p /etc/udev/rules.d
nano /etc/udev/rules.d/85-pure-data.rules


85-pure-data.rules mit folgenden Inhalt füllen
#
# pure data udev rules
#
# Put me in "/etc/udev/rules.d", I am named based on the debian udev rules format
#
# "add" actions are device insertions and device attributes are used to match the device
#
# "remove" actions are matched using ENV variables since the SYSFS node for the device is gone
# and thus the attributes have been deleted
#
# rules built using:
# - udevadm info -a -p $(udevadm info -q path -n /dev/*device*) : attributes
# - sudo udevadm monitor --env /dev/*device* : events and env vars
#
# Documentation is your friend: http://reactivated.net/writing_udev_rules.html
#
################################################################################################


# input devices
#
SUBSYSTEM=="input", GROUP="input", MODE="660"
 


rebootet.

Jetzt habe ich unter anderem folgende input devices
{
            'keys' => '108fcf32 ac1004300000000 0 802008000 1018080002801 9e968000000000 ffc',
            'handler' => 'event3',
            'name' => 'X10 Wireless Technology Inc USB Receiver',
            'id' => {
                      'bus' => '0x0003',
                      'version' => '0x0100',
                      'product' => '0x0006',
                      'vendor' => '0x0bc7'
                    },
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_MSC,EV_REP',
            'eventTypes' => '0x100013'
          },

und
{
            'keys' => '1b0000 0 0 0 0',
            'handler' => 'event4',
            'name' => 'X10 Wireless Technology Inc USB Receiver mouse',
            'id' => {
                      'bus' => '0x0003',
                      'version' => '0x0100',
                      'product' => '0x0006',
                      'vendor' => '0x0bc7'
                    },
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_REL',
            'eventTypes' => '0x7'
          },


Wähle ich das Mouse Ding wir mir nur angezeigt wenn ich nach unten drehe 2015-09-16 21:48:32 linuxHid hid EV_REL: 0 sonst nix.

Wähle ich den Receiver wurde mir gar nichts angezeigt, bis ich das Attribut ignoredTypes gelöscht habe. Dann wurde mir bei jeder Taste irgendwas mit EV_MSC: MSC_SCAN angezeigt, was mittlerweile auch nicht mehr funktioniert.

Außerdem ist mir nicht bewusst wie ich Fernbedienung im Harmony Hub asl Gerät hinzufüge.

Ich habe ja wirklick probiert mein Problem selber zu lösen,komme aber nicht weiter nd bin auf eure Hilfe angewiesen.
Titel: Antw:linux usb hid input modul
Beitrag von: mrbreil am 29 September 2015, 18:49:52
Diese Hardware wird doch, so wie ich es gelesen habe, genutzt. Kann mir bitte jemand einen Tip geben wie ihr das angebunden habt.
Titel: Antw:linux usb hid input modul
Beitrag von: DC am 04 Oktober 2015, 00:05:42
Hallo ! Bin gerade frustriert - ich bekomme es nicht zusammen...

fhem läuft bei mir auf nem Cubieboard 2 (hat nen IR Empfänger eingebaut).

Nach ein paar Anläufen funktioniert der Sensor mit Fernbedienung unter lirc, wie hier beschrieben:
https://github.com/cubieplayer/Cubian/issues/75#issuecomment-23358111 (https://github.com/cubieplayer/Cubian/issues/75#issuecomment-23358111)

evTest spuckt einen Key aus, wenn eine Taste gedrückt wird. Input ist Event1.

Unter FHEM ist der HID sichtbar, unter get devices erscheint auch was und der Status ist connected.
Nur kommen leider keine Tasten-Events in FHEM an. Der Event-Monitor zeigt auch nichts. Dafür sagt
das LOG-File

2015.10.04 00:04:05 3: hid: error opening /dev/input/event1

Was läuft falsch ?
Titel: Antw:linux usb hid input modul
Beitrag von: hexenmeister am 04 Oktober 2015, 00:49:35
Zitat von: DC am 04 Oktober 2015, 00:05:42
2015.10.04 00:04:05 3: hid: error opening /dev/input/event1

Ja, so ohne Glaskugel (ist gerade zum Polieren)... Wie sehen die Zugriffrechte aus?

ls -l /dev/input/event1
Titel: Antw:linux usb hid input modul
Beitrag von: DC am 04 Oktober 2015, 01:06:58
crw------- 1 root root 13, 65 Oct  3 23:33 /dev/input/event1

Da hab ich auch schon dran gedacht, bin aber nicht schlau geworden aus den udev Anleitungen
Titel: Antw:linux usb hid input modul
Beitrag von: hexenmeister am 04 Oktober 2015, 01:18:45
Wenn FHEM nicht gerade als root läuft (was keine gute Idee wäre), dann ist das Problem klar.
zum Probieren kannst Du chmod verwenden. Dauerhaft kommst Du nicht wirklich um udev herum. Ist aber weniger kompliziert, als es sich anhört.
Ich habe das bei mir schon mal gemacht und hier beschrieben: http://s6z.de/cms/index.php/homeautomation/fhem/94-x10-funkfernbedienung-mit-fhem-nutzen
Die vorgeschlagen udev-Regel müsstest Du an Dein Gerät natürlich anpassen, steht aber eigentlich alles dafür nötiges drin. Melde Dich wieder, falls etwas nicht klar ist.
Titel: Antw:linux usb hid input modul
Beitrag von: DC am 04 Oktober 2015, 01:49:11
Sodele - das war es erst mal... Danke, läuft  :)

Der Text ist gut geschrieben und leicht nachvollziehbar...

Habe aber doch noch eine Frage:

Du sprichst davon, dass man nicht über die Event Queue beim Anlegen vom Device in FHEM gehen soll, sondern über die Device ID. Dummerweise haben meine beiden Devices (weil auf dem selben Chip - einmal IR, einmal GIO) die selbe ID:
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="axp20-supplyer"
P: Phys=m1kbd/input2
S: Sysfs=/devices/platform/sunxi-i2c.0/i2c-0/0-0034/axp20-supplyer.28/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=7
B: KEY=100000 0 0 0
B: REL=0

I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="sunxi-ir"
P: Phys=RemoteIR/input1
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=sysrq rfkill kbd event1
B: PROP=0
B: EV=3
B: KEY=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe


Hier müsste ich über Zeile N: Name="sunxi-ir" gehen, damit es eindeutig ist. Wie mache ich das in FHEM ?
Titel: Antw:linux usb hid input modul
Beitrag von: hexenmeister am 04 Oktober 2015, 02:23:02
Dein Fall ist etwas anders gelagert als meiner...

Wenn ich mir das Modul näher ansehe...
foreach my $d ( @{$devices}) {
    return $d if( $d->{handler} eq $device );
    return $d if( $d->{name} =~ m/^$device$/ );

    next if( $bus && $d->{id}{bus} ne $bus );
    next if( $vendor && $d->{id}{vendor} ne $vendor );
    next if( $product && $d->{id}{product} ne $product );
    next if( $version && $d->{id}{version} ne $version );
    next if( $eventTypes && $d->{eventTypes} ne $eventTypes );

    return $d;
  }

und wie Devices eingelesenwerden...
if( $line =~ m/I: Bus=(\S*) Vendor=(\S*) Product=(\S*) Version=(\S*)/ ) {
        $device{id}{bus} = "0x$1";
        $device{id}{vendor} = "0x$2";
        $device{id}{product} = "0x$3";
        $device{id}{version} = "0x$4";

      } elsif( $line =~ m/N: .*"(.*)"/ ) {
        $device{name} = $1;

      } elsif( $line =~ m/H: .*(event\d*)/ ) {
        $device{handler} = $1;

      } elsif( $line =~ m/B: EV=(\S*)/ ) {
        $device{eventTypes} = "0x$1";

      } elsif( $line =~ m/B: KEY=(.*)/ ) {
        $device{keys} = $1;

      }


dann sehe ich, dass neben der anderen Möglichkeiten auch der Name verwendet wird. Probiere einfach den Namen sunxi-ir im define zu verwenden.
Titel: linux usb hid input modul
Beitrag von: justme1968 am 04 Oktober 2015, 10:14:15
ja genau. es wird explizit auch der name unterstützt weil z.b bei vielen tastaturen die 'normalen' tasten und die multimedia tasten mit der gleichen id aber mit unterschiedlichen namen eingebunden werden.

oder du nimmst die event types als zusätzliches Unterscheidungsmerkmal mit in die definition rein: bus:vendor:device:version:eventTypes.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: DC am 04 Oktober 2015, 12:04:31
Funzt ;)

Klasse ! Danke !
Titel: Antw:linux usb hid input modul
Beitrag von: DC am 04 Oktober 2015, 15:26:00
@Hexenmeister:
Du hast auch nen Cubie, vielleicht hast Du noch nen Tipp. Das Cubieboard 2 unter Cubian mag nur wenige irRemotes. Ich hab jetzt noch das Problem, meinem Harmony Hub die richtige Fernbedienung für FHEM beizubringen. Hast Du ein Setting, das funktioniert ?

Wenn nein, auf Github hab ich das hier gefunden
wknightbor commented on Jul 15, 2014
It's hard to find a remote control that works with Cubieboard. I've tried 9 remotes and only 2 are working :-(
Please, check https://github.com/wknightbor/CirSunxi/. It helps to use a little bit more remotes.


Leider überschreitet das meine Kenntnisse. Mein Cubian kam von einem fertigen Image. An Kernel bauen/modifizieren traue ich mich nicht, und ohne ein zweites System als Backup ist mir das zu gewagt...

Außerdem hab ich auch ein Problem mit apt-get update. Hatte irgendwann in grauer Vorzeit FHEM via apt-get installiert. Das wird aber nicht mehr gepflegt. Ich hab es auf Hold gesetzt, "apt-get update && apt-get upgrade" bricht aber immer an dieser Stelle ab. Gibt es eine Möglichkeit, FHEM aus dem Verzeichnis zu entfernen,
ohne dass FHEM entfernt wird ?

--
Hach man, was für ein Act - dabei wollte ich doch nur an der TV Fernbedienung mit einer Taste das Licht ausmachen ;)
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 04 Oktober 2015, 16:54:59
versuch mal ob microsoft mce geht.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: DC am 04 Oktober 2015, 21:44:48
Geht leider nicht, hab jetzt nen LG Fernseher genommen...

Ich hab gerade noch mal ziemlich in die Runde gegoogelt und gehirnt...
Warum muss man diesen Umweg mit dem Harmony Hub gehen, wenn es
(zumindest theoretisch) mit dem Umweg Amazon-Hue-Hub (Software Version) gehen könnte ?

Ich hab das mal in den Amazon Echo Thread gepackt:
http://forum.fhem.de/index.php/topic,28784.msg340413.html#msg340413 (http://forum.fhem.de/index.php/topic,28784.msg340413.html#msg340413)
Titel: Antw:linux usb hid input modul
Beitrag von: hexenmeister am 04 Oktober 2015, 22:02:08
Zitat von: DC am 04 Oktober 2015, 15:26:00
@Hexenmeister:
Du hast auch nen Cubie, vielleicht hast Du noch nen Tipp. Das Cubieboard 2 unter Cubian mag nur wenige irRemotes. Ich hab jetzt noch das Problem, meinem Harmony Hub die richtige Fernbedienung für FHEM beizubringen. Hast Du ein Setting, das funktioniert ?
Kann leider nichts dazu sagen. Mein Cubie hängt im Heizungsraum, sein IR wurde noch nie benutzt. Auch harmony Hub habe ich nicht.

Zitat von: DC am 04 Oktober 2015, 15:26:00
Außerdem hab ich auch ein Problem mit apt-get update. Hatte irgendwann in grauer Vorzeit FHEM via apt-get installiert. Das wird aber nicht mehr gepflegt. Ich hab es auf Hold gesetzt, "apt-get update && apt-get upgrade" bricht aber immer an dieser Stelle ab. Gibt es eine Möglichkeit, FHEM aus dem Verzeichnis zu entfernen,
ohne dass FHEM entfernt wird ?
Hm... Du könntest das ganze FHEM-Verzeichniss sichern (wichtig vor allem Konfig und ggf. eigene Module, Plots). Unbedingt auf einen externen Datenträger! Und bei Bedarf zurückspielen. Backup geht auch mit FHEM-Mitteln, es kommt eine Archive-Datei (tar.gz) raus. Hauptsache, Du bekommst das bei bedarf zurückgespielt.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 04 Oktober 2015, 22:37:42
ZitatWarum muss man diesen Umweg mit dem Harmony Hub gehen, wenn es
(zumindest theoretisch) mit dem Umweg Amazon-Hue-Hub (Software Version) gehen könnte ?


gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: DC am 04 Oktober 2015, 23:02:05
Zitat von: justme1968 am 04 Oktober 2015, 22:37:42

  • das ist nicht wirklich ein umweg. du drückst eine taste, der hub sendet direkt mit einem unterstützten protokoll (ir oder bluetooth) an einen dafür vorgesehen empfänger und über das modul landen die Tastendrücke direkt in fhem.
  • du hast probleme vermutlich vor allem weil dein empfänger nicht vernünftig unterstützt wird. das lieget aber weder an fhem noch am hub. mit einem unterstützen ir oder bluetoth empfänger geht es problemlos. kostet keine 10 euro. (mit dem x10 empfänger ebenso. das ist aber für den hub nicht relevant).
Jein, Du hast teilweise recht. Aber es ist ein Medienbruch - und in meinem Fall ein geografisches Problem, weil der FHEM-Server in einem anderen Raum ist. Bluetooth ist für mich keine Option, davon bekomme ich Kopfschmerzen.
Zitat
  • es gibt zur zeit kein von normalen hub unterstütztes device das ein öffentliches protokoll hat und nicht cloud basiert ist.
  • es gibt zur zeit kein modul für ein echtes oder simuliertes device das sich per tcp/ip mit dem hub verbinden lässt.
    der umweg über einen fake hue hub funktioniert nicht weil der gepollt werden muss und weil sich kommandos an den hue hub nicht auf einzelne tasten legen lassen und weil es nicht möglich ist etwas an den hub zu senden wenn es dafür nicht auch eine lampe gibt.
Ich habe die Amazon Doku etwas anders gelesen: die SW greift via HTML auf ein beliebiges Device zu. Man kann also ein FHEM WebCMD dort hinterlegen, ein pollen entfällt. Und der Harmony Hub kann das Teil auch ansteuern. Ob das über die Cloud geht kann ich noch nicht beurteilen.
Zitat
  • du vergisst in deiner rechnung den zeitaufwand der in so ein fake device modul fliessen müsste. die 10 euro für einen passenden empfänger sind mehrere größenordnungen günstiger.
Mir geht es nicht um das Geld, sondern darum, dass ich dort, wo der FHEM Server steht, kein IR hin bekomme. Also muss ich umbauen und der FHEM Server braucht ein anderes Gehäuse.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 04 Oktober 2015, 23:21:57
das ist weniger medienbruch als irgendwelchen devices zu missbrauchen die dafür eigentlich nicht gedacht sind.

das geografische problem kann man z.b. mit einem raspberyy pi der ir empfängt und per netzwerk an fhem weiterleitet lösen. oder mit einem panstamp ir empfänger der dann per funk weiter leitet.

der harmony hub kann nicht den echo steuern (was solle er auch damit tun ?) sondern der echo kann den hub steuern damit du aktionen per Sprache auslösen kannst. das wäre aber genau die richtung die dir nichts nützt.

Titel: Antw:linux usb hid input modul
Beitrag von: anfänger111 am 05 Oktober 2015, 15:41:42
Ich komme nicht weiter beim Pairing vom Hub und meinem RPi auf dem Fhem läuft.

bluez-simple-agent zum verbinden gibt es bei Jessie nicht mehr, dafür aber bt-device bzw. über die GUI.

Ich habe einen sonstigen Computer über die App erstellt, dann eine Taste gedrückt, dass das Pairing erscheint. Dann findet mein Raspberry auch "Harmony Keyboard". Jedoch ist es nicht möglich sich mit diesem zu verbinden. Die App läuft einfach weiter und bekommt wohl keine Antwort.

Das System ist komplett neu aufgesetzt. bluetooth, bluez, bluez-tools, blueman ist installiert.

Irgendwie mache ich etwas grundlegend falsch... Vergesse ich einen Zwischenschritt?

Vielen Dank!
Titel: Antw:linux usb hid input modul
Beitrag von: mrbreil am 06 Oktober 2015, 10:30:16

Zitat von: justme1968 am 04 Oktober 2015, 22:37:42

  • du hast probleme vermutlich vor allem weil dein empfänger nicht vernünftig unterstützt wird. das lieget aber weder an fhem noch am hub. mit einem unterstützen ir oder bluetoth empfänger geht es problemlos. kostet keine 10 euro. (mit dem x10 empfänger ebenso. das ist aber für den hub nicht relevant).

Mit dem hier angepriesenen x10 Empfänger geht es eben nicht, wie ich ein paar Threads vorher beschrieben habe.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 06 Oktober 2015, 11:19:45
laut blog vom hexenmeister geht es mit zumindest mit seinem x10 empfänger...

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: hexenmeister am 06 Oktober 2015, 13:37:35
Zitat von: justme1968 am 06 Oktober 2015, 11:19:45
laut blog vom hexenmeister geht es mit zumindest mit seinem x10 empfänger...
Jep, ohne Schwierigkeiten. Was genau hat nicht funktioniert?
Titel: Antw:linux usb hid input modul
Beitrag von: Samsi am 06 Oktober 2015, 23:03:47
ZitatWähle ich den Receiver wurde mir gar nichts angezeigt, bis ich das Attribut ignoredTypes gelöscht habe. Dann wurde mir bei jeder Taste irgendwas mit
Code: [Auswählen]

EV_MSC: MSC_SCAN

angezeigt, was mittlerweile auch nicht mehr funktioniert.

Hi, ich hab mit der x10 auch Schwierigkeiten.

Bei meinem Beaglebone Black wird die zwar ordnungsgemäß von dem HID Modul erkannt, aber leider funktioniert Sie nur auf 2 Meter.  Hat mich auch lange gekostet das herauszufinden, dachte erst sie wäre kaputt.

An meinem Windows Laptop komme ich auf ca. 7 Meter (wenn der Laptop an der gleichen Position wie der Beaglebone steht), warum auch immer.

Hab schon versucht den Empfänger über einen aktiven Hub an den BBB zu hängen oder die Kanäle zu wechseln, brachte aber auch nichts. Das mit der schlechten Reichweite hat mich fast wahnsinnig gemacht. Jetzt liegt sie erst mal in der Schublade.




Titel: Antw:linux usb hid input modul
Beitrag von: hexenmeister am 06 Oktober 2015, 23:48:11
Was hast Du für ein Empfänger, es gibt ja mehrere?
Ich habe den mit dem langen Antennendraht. Angeschlossen an einen aktiven Hub und die Reichweite ist super. Reicht durch zwei Wände bis in den Garten. ca. 10 Meter.
Titel: Antw:linux usb hid input modul
Beitrag von: Samsi am 07 Oktober 2015, 17:51:56
Ich habe genau diesen Empfänger:

http://www.pollin.de/shop/dt/MzIyODcyOTk-/Computer_und_Zubehoer/Hardware/Maeuse_Unterlagen_Joystick/PC_Funkfernbedienung_mit_USB_Empfaenger_X10.html


Weis jemand ob man bei dieser Tastatur evtl. mit etwas basteln die Beschriftung unter dem Glas austauschen könnte?:

http://www.pollin.de/shop/dt/NzgwODgyOTk-/Computer_und_Zubehoer/Hardware/Tastaturen/Glas_Touchpad_Nummernblock_TYPHOON_GlassedPad_TI002.html
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 25 Oktober 2015, 15:06:27
Hi anfänger111,

ZitatJedoch ist es nicht möglich sich mit diesem zu verbinden. Die App läuft einfach weiter und bekommt wohl keine Antwort.

Was hast du denn getan, um dich zu verbinden? Unabhängig vom verwendeten Befehlssatz sind immer folgende Schritte nötig:


Erst nach der erfolgreichen Verbindung als Input Device ist die Harmony zufrieden und die App geht in den Befehlsmodus.
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 25 Oktober 2015, 15:44:39
Nachdem ich nun ein Script laufen habe, das regelmäßig nach der Harmony sucht und gegebenfalls verbindet, funktioniert die Lichtsteuerung nun schon ganz gut, wenn es mal läuft ... Zwei Herausforderungen bei der Initialisierung habe ich allerdings noch, deren nachhaltige Lösung wohl eher in der Programmierung des HID Moduls selbst läge:

1) Ich verwende zwei Harmony Hubs in benachbarten Zimmer, die leider genau gleiche Bluetooth-Attribute haben und daher eine zuverlässige Unterscheidung beim define nicht zulassen. Wäre es evtl. möglich zusätzlich zu bus:vendor:device:version:eventTypes auch die Mac-Adresse (Unique-ID) mit aufzunehmen (siehe unten)?

2) Wenn Raspberry und FHEM starten stehen die BT-Verbindungen im Regelfall noch nicht, sondern erst, wenn ich die Harmony zum nächsten Mal verwende. Daher kann FHEM auch die HID-Devices nicht initialisieren und ich muss später FHEM manuell restarten. Gleiches auch, wenn die BT-Verbindung mal abreisst und wieder hergestellt wird. Gibt es irgendeine Möglichkeit das Modul hierfür "robuster" zu gestalten? Also wenn die HID-Devices erscheinen, diese auch ohne FHEM-Neustart funktionieren?

Derzeit muss ich nach einem Neustart einer Komponente eine ganz bestimmte Startsequenz zur neuerlichen Inbetriebnahme einhalten, was recht mühsam ist.

Für Hilfe sehr dankbar!

Inhalt meiner Datei /proc/bus/input/devices
I: Bus=0005 Vendor=0000 Product=0000 Version=0000
N: Name="Harmony Keyboard"
P: Phys=00:1a:7d:da:71:11
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/bluetooth/hci0/hci0:72/0005:0000:0000.0002/input/input1
U: Uniq=00:04:20:eb:f6:b7
H: Handlers=sysrq kbd mouse0 event0
B: PROP=0
B: EV=10001f
B: KEY=*****
B: REL=1c3
B: ABS=f01 0
B: MSC=10

I: Bus=0005 Vendor=0000 Product=0000 Version=0000
N: Name="Harmony Keyboard"
P: Phys=00:1a:7d:da:71:11
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/bluetooth/hci0/hci0:66/0005:0000:0000.0003/input/input2
U: Uniq=00:04:20:f1:f4:04
H: Handlers=sysrq kbd mouse1 event1
B: PROP=0
B: EV=10001f
B: KEY=*****
B: REL=1c3
B: ABS=f01 0
B: MSC=10
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 25 Oktober 2015, 16:21:21
zu 1.: schau dir mal die angehängte version an. damit kannst du bus:vendor:device:version:eventTypes:uniq imm define angeben.

zu 2.: schau mal bitte ob du mit einem set <device> reconnect die verbindung herstellen kannst.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 25 Oktober 2015, 17:18:32
Hallo Andre,

habe es so versucht:
define hid0 linuxHid ::::00:04:20:eb:f6:b7
define hid1 linuxHid ::::00:04:20:f1:f4:04


Das Problem ist aber, dass in der ID selbst Doppelpunkte vorkommen, und somit der im Code verwendete Splitbefehl nur die ersten Stellen "00" abgreift und daher der Vergleich nicht aufgeht. Eine Lösungsmöglichkeit wäre, die ID ähnlich dem Event-Handler alleinstehend zu vergleichen, also im Code anstelle von (Zeile 299):
    return $d if( $uniq && $d->{uniq} eq $uniq );
so:
    return $d if( $d->{uniq} eq $device );

Dann funktioniert das:
define hid0 linuxHid 00:04:20:eb:f6:b7
define hid1 linuxHid 00:04:20:f1:f4:04


So geht es jetzt :-)

Übrigens: Ein Reconnect funktioniert - bedeutet das, ich müsste auch hier einfach ständig versuchen neu zu connecten?

Danke und lG,
Gerald
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 25 Oktober 2015, 17:30:36
klar. an die : habe ich nicht gedacht. es wäre aber trotzdem nicht gegangen weil du am anfang 4 statt 5 : hattest :)

das split müsste so aussehen: my($bus,$vendor,$product,$version,$eventTypes,$uniq) = split( ':', $device,6 );

aber der vergleich auf device ist auch gut. das macht es noch einfacher. das übernehme ich so.


die vorübergehende lösung wäre ein at das jede minute nachschaut ob das hid device disconnected ist und dann ein reconnect macht. wenn das so funktioniert baue ich das direkt ins modul ein.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 26 Oktober 2015, 19:35:17
Also so geht es jetzt (Prüfung alle 5 min):
define harmony_reconnect_hid0 at +*00:05:00 {if(Value("hid0") eq "Disconnected") { fhem("set hid0 connect") }}

Schöner wäre es, finde ich, wenn das Modul selbst jede Minute mal nachsieht und ich nicht so viele Events bräuchte.

Übrigens sehe ich das richtig, dass "connect" und "reconnect" im Moment genau das Gleiche tun (also zuerst Disconnect und dann neues Connect). Anregung: Vielleicht sollte eines von beiden den Status zuerst prüfen und gar nichts tun, wenn sowieso schon connected (dann hätte ich mir z.B. oben das IF sparen können  ;))
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 27 Oktober 2015, 01:38:10
das war nicht meine idee das es zwei varianten gibt :)

ich überlege mir was.

gruss
  andre
Titel: linux usb hid input modul
Beitrag von: justme1968 am 03 November 2015, 09:01:39
anbei eine version zum testen:

- es gibt ein neues attribut collect wenn es gesetzt ist werden alle KEY events gesammelt bis das im attribut angegebene key event auftritt. danach wird ein event mit den bis dahin gesammelten keys erzeugt. also z.b. attr <hid> collect KEY_ENTER

das müsste z.b. mit dem leser hier: http://forum.fhem.de/index.php/topic,41991.msg342143.html#msg342143 oder auch mit barcode lesern funktionieren.


@Gary: im modul gibt es schon immer einen timer der versucht sich neu zu verbinden wenn die verbindung weg ist. kannst du mal bitte debuggen ob der timer bei dir aufgerufen wird? ich kann einen ir empfänger abziehen und wieder anstecken und er wird dann automatisch wieder gefunden. das funktioniert bei mir auch mit einem kleinen bluetooth sender der sich schlafen legt. es sind aber zwei tastendrücke nötig weil der erste die verbindung wieder herstellt. das sollte bei dir aber nicht der fall sein.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: iklobitz am 03 November 2015, 10:49:04
Andre, DU bist der Größte  ;) :)
hab´s grad eingespielt und getestet.
Als Ergebnis kommt nun:
2015-11-03 10:47:08 linuxHid hid sequence: 0004271161

Damit kann man doch etwas anfangen.
Vielen Dank !!!!
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 04 November 2015, 20:04:53
Hi andre, bei mir funktioniert ein reconnect leider definitiv nicht. Für Debug-Experimente muss ich mir erst mehr die Zeit nehmen, aber Hinweis vorab nach kurzem Blick in den Code: Es scheint mir, als wäre das Reaktivieren des Timers in der Funktion linuxHid_Connect ganz schön tief in den "IFs" verschachtelt. In den meisten Fällen kommt das Reaktivieren daher überhaupt nicht zu tragen.

Habe bei mir ins Log gesehen, wenn ich die Harmony ausstecke, passiert das:

2015.11.04 17:50:33 3: hid1: disconnected
2015.11.04 17:50:43 2: hid1: device 00:04:20:f1:f4:04 not found

d.h. möglicherweise wird das Connect genau einmal aufgerufen, gelangt in die Abzweigung "device not found", wo aber der Timer nicht neu gesetzt wird und Schluss - kein neuer Versuch. Wie gesagt eine Vermutung, müsste ich mich mal rumspielen. Schaust du mal?
Danke und lG.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 04 November 2015, 20:19:51
du hat recht. im not found fall wird der timer nicht neu gestartet.

es sollte reichen den log level zu ändern und den timer dort auch zu starten. ich baue das dann so ein.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Frini am 10 November 2015, 13:19:50
Hallo,
ich habe den Thread jetzt durchgearbeitet und bin quasi kurz davor mir einen Empfänger für den Raspberry zu bestellen, um eine Verbindung vom Hub zu FHEM zu schaffen.
Anwendungsfall ist der, dass ich auf Pause oder Play Lampen etc. schalten möchte. Ist ja hier schon häufiger erwähnt.
Jetzt stellt sich mir allerdings die Frage wenn ich die X10 Fernbedienung von Pollin (http://www.pollin.de/shop/dt/MzIyODcyOTk-/Computer_und_Zubehoer/Hardware/Maeuse_Unterlagen_Joystick/PC_Funkfernbedienung_mit_USB_Empfaenger_X10.html) nutze, kann der Harmony Hub über Funk damit kommuniezieren? Kann der Hub die 433Mhz? Oder steh ich gerade total auf dem Schlauch und brauche was anderes. Wäre nett, wenn mich jemand mit dem Zaunpfahl erschlägt und ne funktionierendes Gerät empfiehlt.

Grüße
Matthias
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 12 November 2015, 16:48:01
Hi Matthias,

ich weiß der Thread ist schon lange ... möglicherweise haben da ein paar Punkte zu Missverständnissen geführt, und ich fürchte ich muss dir empfehlen nochmals zu lesen - vieles wurde schon erklärt. Trotzdem nochmals ein paar Kernpunkte aus meiner Sicht:

Der Harmony Hub kann mal per se per Funk im Logitech-eigenen Protokoll mit gar keinem anderen Gerät kommunizieren (also auch nicht 433Mhz). Er kann IR senden (und ein IR-Empfänger kann das an FHEM weiter geben) und mit der Anleitung hier im Thread nun auch per Bluetooth mit dem FHEM verbunden werden und dort als virtuelle Tastatur einzelne Tastendrücke simulieren, die wiederum in FHEM abgefragt werden und Aktionen auslösen können.

Es gibt noch keine Möglichkeit, wenn ich auf der Harmony bei einem x-beliebigen Gerät "Pause" oder "Play" drücke, gleichzeitig FHEM dazu zu bringen eine Lampe einzuschalten. Es gibt noch das FHEM Harmony Modul zur Verbindung des Hubs mit FHEM über LAN, aber mit dieser API kann man derzeit offensichtlich nur auf "Aktionen hören" und nicht auf einzelne Tasten eines konfigurierten Mediengeräts.

Jetzt kommt deine Fernbedienung ins Spiel - wenn du sie dazu bringst FHEM zu steuern, dann kannst du auch Lampen steuern. Dann hat das aber nichts mehr mit dem Harmony Hub zu tun, den brauchst du dazu nicht (außer du würdest mit der Fernbedienung FHEM steuern und FHEM wiederum Lichter und über das Harmony Modul deine Mediengeräte, aber jetzt wird's sehr umständlich ...) Übrigens die Pollin X10 kenne ich zwar nicht, aber ich finde Postings von Wzut und mbrail hier im Forum, dass die Funkanbindung über den USB-Empfänger nicht zu funktionieren scheint - würde ich nochmals prüfen.

Ich glaube du musst deine Anforderungen nochmals neu definieren ... und ich hoffe ich habe das alles selbst richtig verstanden  ;)

LG, Gerald
Titel: Antw:linux usb hid input modul
Beitrag von: Frini am 12 November 2015, 19:30:22
Jetzt versteh ich gar nichts mehr. Dieses Modulbist doch dafür da, damit ich den Raspberry, also FHEM, als Gerät am Hub anlernen kann. Dieses Gerät binde ich dann in jede Aktion ein und lege es auf die entsprechenden Tasten (pause,play,stop,etc).
Wenn ich dann entsprechende Taste drücke schalte ich ja das FHEM Gerät und mittels DOIF oder notify verlinke ich dann BluRayPlayer, Kodi, etc und die Lampen oder sonstwas.
Meine Frage ist gewesen, ob dies mit der x10Fernbedienung von Pollin funktioniert. Oder brauch ich da was anderes?
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 12 November 2015, 19:31:38
genau so ist es. aber du brauchst einen empfänger für ein protokoll das der hub auch sendet.

also entweder mce ir oder bluetooth. der hub kann je kein x10 senden.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Frini am 12 November 2015, 19:34:25
Jetzt hab ich's.  ;D
Mcr ir macht wahrscheinlich mehr Sinn. Gibt es eine Empfehlung? Mce ir ist jeder USB Dongle? Oder sind das dir gpio?
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 12 November 2015, 19:50:11
nicht jeder aber vermutlich viele. such mal nach mce fernbedienung.
Titel: Antw:linux usb hid input modul
Beitrag von: Frini am 13 November 2015, 08:14:43
Alles klar. Ich hab jetzt so ne china Fernbedienung für 7€ bei Ama gekauft. Die dürfte Samstag ankommen. Hoffentlich hab ich am WE etwas Zeit, dann setz ich mich dran.
Ist schon sehr komfortabel, wenn das Licht bei Filmstart automatisch ausgeht.
FHEM macht da schon irgendwie süchtig.
Titel: Antw:linux usb hid input modul
Beitrag von: Frini am 15 November 2015, 17:05:14
Soooo nach 4 Std. herumprobieren habe ich es jetzt tatsächlich geschafft, die Tasten im Eventmonitor anzuzeigen.
Hab jetzt teilweise das Problem, dass bei einem Tastendruck bis zu vier Befehle erscheinen. Vornehmlich bei den Pfeiltasten die laut Beschriftung auf der Fernbedienung ebenfalls als 4ghi benutzt werden können.
Jetzt versuch ich erstmal das Teil irgendwie mit dem Hub zu paaren.

als Beispiel mal vier Tasten. Bei Druck vier Tasten kommt zu jeder Taste:

Taste 1
2015-11-15 16:29:08 linuxHid hid.ug.kn.hub EV_KEY: KEY_LEFTCTRL
2015-11-15 16:29:08 linuxHid hid.ug.kn.hub EV_KEY: KEY_LEFTALT
2015-11-15 16:29:08 linuxHid hid.ug.kn.hub EV_KEY: KEY_A
2015-11-15 16:29:08 linuxHid hid.ug.kn.hub EV_KEY: KEY_1
2015-11-15 16:29:08 linuxHid hid.ug.kn.hub EV_KEY: KEY_F1
Taste 2
2015-11-15 16:29:09 linuxHid hid.ug.kn.hub EV_KEY: KEY_LEFTCTRL
2015-11-15 16:29:09 linuxHid hid.ug.kn.hub EV_KEY: KEY_LEFTALT
2015-11-15 16:29:09 linuxHid hid.ug.kn.hub EV_KEY: KEY_B
2015-11-15 16:29:09 linuxHid hid.ug.kn.hub EV_KEY: KEY_2
2015-11-15 16:29:09 linuxHid hid.ug.kn.hub EV_KEY: KEY_F2
Taste 3
2015-11-15 16:29:10 linuxHid hid.ug.kn.hub EV_KEY: KEY_LEFTCTRL
2015-11-15 16:29:10 linuxHid hid.ug.kn.hub EV_KEY: KEY_LEFTALT
2015-11-15 16:29:10 linuxHid hid.ug.kn.hub EV_KEY: KEY_C
2015-11-15 16:29:10 linuxHid hid.ug.kn.hub EV_KEY: KEY_3
2015-11-15 16:29:10 linuxHid hid.ug.kn.hub EV_KEY: KEY_F3
Taste 4
2015-11-15 16:29:11 linuxHid hid.ug.kn.hub EV_KEY: KEY_LEFTCTRL
2015-11-15 16:29:11 linuxHid hid.ug.kn.hub EV_KEY: KEY_LEFTALT
2015-11-15 16:29:11 linuxHid hid.ug.kn.hub EV_KEY: KEY_D
2015-11-15 16:29:11 linuxHid hid.ug.kn.hub EV_KEY: KEY_4
2015-11-15 16:29:11 linuxHid hid.ug.kn.hub EV_KEY: KEY_F4

Habt Ihr eine Idee, wie ich damit verfahren kann?

Ich benötige gut 15 Tasten um KODI ebenfalls mit der Fernbedienung zu steuern. Ich hab mir jetzt 12 Tasten rausgesucht, die nur ein Signal senden. Mir fehlen also noch drei. Und da werd ich wohl auf eine von den Mehrfachbelegten Tasten ausweichen müssen.
Titel: Antw:linux usb hid input modul
Beitrag von: Frini am 17 November 2015, 12:33:15
So ich melde mal kurz den Zwischenstand:
Meine Vorgehensweise:
In der PC-Software vom Hub habe ich ein Dummy-Gerät erstellt. MediaCenterPC aus der Liste. Da ich so eine BilligFernbedienung samt IR-Empfänger vom großen A habe, bin ich nicht drum rum gekommen alle 34 Tasten einzeln anzu lernen.
Ich habe mir zwei Excel Sheets erstellt, in einer Liste stehen die Befehle aus dem Eventmonitor von FHEM, die pro Tastendruck erscheinen und in der anderen Tabelle stehen die Befehle die im EventMonitor erscheinen, wenn ich den Befehl übers Hub sende. Hier klappen nämlich nicht alle Tasten.
Im hub habe ich die Befehle der einfachheithalber beim anlernen einfach stupide durchnummeriert.

Eigentlich würden mir drei Befehle ersteinmal reichen:
1. Play
2. Pause
3. Stop
Das sind alles Befehle, die ich als Trigger für die Lichtsteuerung im Kino brauche.
Jedoch habe ich keinen IR-Empfänger am HTPC, sodass ich um KODI komfortabel mit der Harmony steuern zu können noch weitere Trigger-Dummies.
In summe komme ich so auf knapp 15 Triggerbefehle, die ich mit notifys mit den entsprechenden KODI-FHEM Befehle verknüpfe.

Erste Tests waren positiv. Allerdings befürchte ich, dass durch meinen "Billigkauf" die IR-Einheiten doch recht minderwertig sind. Mal kommt ein Befehl durch, mal wieder nicht.
Ich hab allerdings zwei Probleme, bei denen ich kurz nen Rat bräuchte.
1. Wie oben beschrieben gibt es Tasten, wo mit einem mal bis zu 5 Befehle gesendet werden. Wenn ich jetzt mit nem notify einfach einen KEY-Befehl herauspicke und die anderen ignoriere müsste das doch funktionieren oder?
2. Ich hab Tasten dabei, da sende ich nach schneller Tipfrequenz unterschiedliche Befehle. Eigentlich genauso wie bei einer Handytastatur, wenn man in schneller Tipfolge die Taste drückt. Erster druck 4, schnell noch mal gedrückt ist g, schnell noch mal gedrückt ist h usw. Das wirklich komische ist, dass ich dieses Verhalten auch habe, wenn ich den Befehl über das Hub mit Harmony sende. Ich hab extra darauf geachtet, beim Anlernen nur einmal kurz zu drücken, damit ich nur den ersten Befehl anlerne.

Habt Ihr vielleicht einen Rat für mich? Oder wäre es besser das IR-Geraffel zur Seite zu legen und etwas "namhaftes höherwertiges" zu kaufen?

Hierm al meine notifys zur Info. Vielleicht für den einen oder anderen interessant:

define not.ug.kn.hid.play notify hid.ug.kn.hub:.*KEY_VOLUMEUP.* if ([hub.ug.kn:currentActivity] eq "FilmKODI") {fhem "set ug.kn.KODI play} else {fhem "set hub.ug.kn. command play"}
define not.ug.kn.hid.pause notify hid.ug.kn.hub:.*KEY_VOLUMEDOWN.* if ([hub.ug.kn:currentActivity] eq "FilmKODI") {fhem "set ug.kn.KODI pause} else {fhem "set hub.ug.kn. command pause"}
define not.ug.kn.hid.stop notify hid.ug.kn.hub:.*KEY_MUTE.* if ([hub.ug.kn:currentActivity] eq "FilmKODI") {fhem "set ug.kn.KODI stop} else {fhem "set hub.ug.kn. command stop"}

define not.ug.kn.hidKODI.left notify hid.ug.kn.hub:.*KEY_155.* set ug.kn.KODI left
define not.ug.kn.hidKODI.right notify hid.ug.kn.hub:.*KEY_HOMEPAGE.* set ug.kn.KODI right
define not.ug.kn.hidKODI.up notify hid.ug.kn.hub:.*KEY_PREVIOUSSONG.* set ug.kn.KODI up
define not.ug.kn.hidKODI.down notify hid.ug.kn.hub:.*KEY_NEXTSONG.* set ug.kn.KODI down
define not.ug.kn.hidKODI.select notify hid.ug.kn.hub:.*KEY_PLAYPAUSE.* set ug.kn.KODI select
define not.ug.kn.hidKODI.home notify hid.ug.kn.hub:.*KEY_STOPCD.* set ug.kn.KODI home
define not.ug.kn.hidKODI.info notify hid.ug.kn.hub:.*KEY_COMMA.* set ug.kn.KODI info
define not.ug.kn.hidKODI.contextmenu notify hid.ug.kn.hub:.*KEY_PAGEUP.* set ug.kn.KODI contextmenu
define not.ug.kn.hidKODI.back notify hid.ug.kn.hub:.*KEY_PAGEDOWN.* set ug.kn.KODI back


Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 17 November 2015, 12:51:24
schau dir mal den flirc empfänger an. ich vermute für deine anwendung (bzw. zumindest für den kodi teil) ist das deutlich einfacher als alles über fhem laufen zu lassen.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Frini am 17 November 2015, 13:29:49
Hallo,
du meinst den Flirc empfänger dann in den HTPC stecken um KODI dann via IR übers Hub zu steuern?
Hast Du vielleicht ne Empfehlung? Möchte da nicht noch mal ins Fettnäpfchen treten.

Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 17 November 2015, 13:31:28
ja. genau. ich würde die geräte steuerung immer vom hub zum gerät machen und fhem nur für kompfort funktionen wie zeit abhängige regelung oder das einbinden von zusätzlichen devices im haus verwenden.
Titel: Antw:linux usb hid input modul
Beitrag von: Frini am 17 November 2015, 22:55:13
Das wird wohl Sinn machen.
Ich hab mal etwas gegooglet und werde dann wohl über kurz oder lang auf einen IR-Empfänger mit RC6 Protokoll gehen. Das wird als MCE-Keyboard vom Hub erkannt. Damit muss ich bei KODI keine Kompromisse machen.
Ich habe trotzdem weiter mit dem Empfänger gespielt, und jetzt 13 funktionierende notifys vorbereitet. KODI reagiert ebenfalls ohne Verzögerung. Ich bin wirklich begeistert. Danke für das Modul. Wieder ein großer Schritt zum richtigen Kino zu Hause.
Titel: Antw:linux usb hid input modul
Beitrag von: alexmetz am 28 November 2015, 13:16:55
Hallo zusammen,

danke für das großartige Modul.
Ich habe leider mehrere Probleme:

Zunächst mein System:
Harmony Hub
Harmony Ultimate
Raspberry Pi mit Raspbian und Bluetooth-Empfänger
Fhem auf dem Raspberry


Ich bin gestern nach der Anleitung hier vorgegangen: http://forum.fhem.de/index.php/topic,36257.msg328517.html#msg328517
Ich habe mit der Harmony-App ein neues Gerät angelegt (MacPC) und in Fhem das hid-Device angelegt (mit event0)
Danach hat es im Prinzip funktioniert. Aber:

1. (kleines) Problem:
Wenn ich den Raspberry als OtherPC anlege, gibt es keinerlei Befehle in meiner Harmony, die ich den Tasten der Ultimate zuweisen könnte.
Daher hab ich MacPC genommen. WindowsPC war mir zu unübersichtlich.
Ich habe aber keine Ahnung was (außer der Tastenbelegung) die Auswahl eigentlich verändert. Evtl. hat das mit dem 3. Problem was zu tun (s.u.).

2. (kleines) Problem:
Die Stop-Taste der Ultimate sendet laut Harmony-Einstellungen ein STOP, die Playtaste ein PLAY und die Pausetaste ein PAUSE.
Auf dem Fhem kommt aber bei allen drei Tasten KEY_PLAYPAUSE an.

3. (großes) Problem:
Wie gesagt: gestern hat alles funktioniert. Heute allerdings steht in Fhem ein "disconnected" im hid-device.

Wenn ich nun cat /proc/bus/input/devices eingebe, ist auch kein event0 vorhanden.

Das device ist aber bekannt:
bluez-simple-agent hci0 00:04:20:F3:B5:06
root@raspberrypi:/dev/input# bluez-simple-agent hci0 00:04:20:F3:B5:06
Creating device failed: org.bluez.Error.AlreadyExists: Already Exists


Ich weiß jetzt auch nicht, wie ich die BT-Verbindung wiederherstelle.

UPDATE:
anscheinend hat sich mein Bluetooth-Stick ausgeschaltet. Jedenfalls hat
hcitool scan
hcitool dev

keine devices gefunden. Neustart des Rasperry brachte nix. Erst nach ein-/ausstecken des BT-Sticks gings wieder.
Wieso passiert sowas und wie verhindere ich es?



Vielen Dank schon mal,

Alex.

Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 04 Dezember 2015, 19:48:36
Hi alexmetz,

du scheinst die gleiche Konfiguration zu haben und auf das gleiche Problem gestoßen zu sein, wie ich anfänglich auch: Wenn der Harmony Hub die BT Verbindung zum Raspberry beendet (Gründe dafür gibt es einige), dann wird der Hub nicht automatisch wieder als Input Device connected. Im Grunde wäre es nötig, im Augenblick, wenn der Hub die Verbindung wieder herstellen möchte, ein "sudo bluez-test-input connect" zu machen.

Die einzige Möglichkeit, die ich gefunden habe, ist ein Script, das am Raspberry im Hintergrund ständig läuft und - sollte das Device nicht vorhanden sein - einen Verbindungsversuch macht. Funktioniert so:

sudo nano /etc/harmony.sh

Folgenden Code eingeben (mit der MAC Adresse deines Hubs):

#! /bin/bash

address1="00:04:20:EB:F6:B7"

shopt -s nocasematch;

while (sleep 2)
do
connected=`sudo cat /proc/bus/input/devices` > /dev/null
if [[ ! $connected =~ .*${address1}.* ]] ; then
  sudo sudo bluez-test-input connect ${address1} > /dev/null 2>&1
fi
done


Und nun im Hintergrund laufen lassen:

sudo nano /etc/init.d/harmony

Mit diesem Script:

#!/bin/bash
#
# /etc/init.d/harmony -- startup script for harmony reconnects
#
### BEGIN INIT INFO
# Provides: harmony-bt-connect
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Harmony Bluetooth Connect
# Description: Start script for reconnecting Harmony Bluetooth Devices
### END INIT INFO

/etc/harmony.sh &

exit 0


Beide Scripts ausführbar machen und bei Boot ausführen:

sudo chmod +x /etc/harmony.sh
sudo chmod +x /etc/init.d/harmony
sudo update-rc.d harmony defaults


Raspberry neu starten und prüfen.

Zu deinem anderen Problem mit den Tasten vielleicht hilft dir Folgendes: Ich habe Windows PC als Gerät verwendet und die Pfeiltasten belegt. Aber vor allem habe ich auf der Ultimate für jede Aktion Menueinträge angelegt wie "Licht ein", "Licht aus", "Licht dimmed" und diese führen die Tasten als Makro aus.

Liebe Grüße
Titel: Antw:linux usb hid input modul
Beitrag von: alexmetz am 05 Dezember 2015, 13:01:14
Zitat von: Gary am 04 Dezember 2015, 19:48:36
Zu deinem anderen Problem mit den Tasten vielleicht hilft dir Folgendes: Ich habe Windows PC als Gerät verwendet und die Pfeiltasten belegt. Aber vor allem habe ich auf der Ultimate für jede Aktion Menueinträge angelegt wie "Licht ein", "Licht aus", "Licht dimmed" und diese führen die Tasten als Makro aus.
Das hab ich auch so gemacht, nur hab ich laut/leise und kanal hoch/runter benutzt - is aber ja egal.

Hinsichtlich deines scripts: gute Lösung, aber wäre es evtl. noch eleganter, das script nicht selbst im Hintergrund laufen zu lassen, sondern mittels eines cronjobs aufzurufen?

VG
Alex.
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 06 Dezember 2015, 23:51:30
Bzgl. Tasten: Ja stimmt, ist egal welche. Wollte nur sicherheitshalber auf die Möglichkeit der Menueinträge durch die Definition von Sequenzen in MyHarmony hinweisen, und dass es sinnvoll ist Tasten zu wählen,  die man z.B. auch über die App schalten kann.

Zur Verbindungsthematik: Ich fürchte beim Cronjob wäre das Problem, dass das kleinste Aufrufintervall eine Minute ist. Ich weiß nicht genau wie lange das Timeout des Hubs ist für den Verbindungsaufbau ist, aber ich denke viel kürzer. Von den CPU-Ressourcen her ist es wohl egal ob cronjob oder service mit sleep - ich war froh, dass es geht und hab es einfach so belassen. Vielleicht gibt es eine bessere Lösung aber die läge wohl eher darin, dass das System selbst erkennt, wenn ein trusted Gerät die Verbindung erneut aufbauen möchte.
Titel: Antw:linux usb hid input modul
Beitrag von: Mietzi67 am 08 Dezember 2015, 22:55:59
Hallo zusammen,

ich habe eine Harmony Ultimate über Bluetooth an einen RPi gekoppelt, auf dem Raspbian mit XBMC und auch ein FHEM läuft.
Definition der Harmony im linuxHid Modul erfolgt über event6.

Nun stolpere ich über folgendes (Zitat von Seite 1):
Zitatdas hid device kann entweder exklusiv events an fhem liefern. das ist der default. oder die events landen zusätzlich auch noch ganz normal im betriebsystem.

Stoppe ich den XBMC Service, landen die EV_KEY Events im FHEM Event Log. Soweit so gut, wenn der XBMC aber läuft, passiert das leider nicht.
Der XBMC wird bisher über einen IR Empfänger gesteuert (event0). Seit Kopplung der Harmony allerdings auch über den Bluetooth Empfänger (event6).

Wie kann ich es steuern, dass die event6 Signale exklusiv im FHEM und nicht im XBMC ankommen?

Gruß & vielen Dank,
Mietzi
Titel: Antw:linux usb hid input modul
Beitrag von: Mietzi67 am 20 Dezember 2015, 22:52:59
Hallo zusammen,

mein Problem besteht weiterhin, sowohl per Bluetooth als auch mit dem FLIRC Empfänger.
Wenn FHEM allein auf dem RPi läuft, funktioniert das linuxHid Modul wie es soll.
Sobald der XBMC/Kodi Medienserver aber startet, gehen die Inputs ausschließlich dort hin und im FHEM kommt nichts mehr an (Status des FHEM hid Gerätes ist weiterhin "connected".) Wenn ich XBMC/Kodi stoppe, bekommt FHEM die Signale wieder.
Wie kann man dem Medienserver beibringen, die Signale ans Betriessystem / FHEM weiterzuleiten?

Wäre über etwas Hilfe sehr dankbar.

Gruß & vielen Dank,
Mietzi
Titel: Antw:linux usb hid input modul
Beitrag von: ectomorph am 21 Dezember 2015, 16:42:40
Hallo Zusammen,

erstmal vielen Dank für das Modul, leider bekomme ich es aber bei mir nicht richtig zum laufen. Ich habe nun noch folgende Probleme.

Im Hub habe ich einen Computer als otherDevice angelegt
per Bluetooth mit fhem (IntelNuc Ubuntu 14 Server) gepaart

danach konnte ich leider den Hub nur als Maus benutzen. Konnte aber temporär Events beim streichen am Touchscreen des Smartphone im FHEM-Eventmonitor sehen aber nur im Touchmodus

Das Verbundene Device sieht in  /proc/bus/input/devices so aus:
I: Bus=0005 Vendor=0000 Product=0000 Version=0000
N: Name="Harmony Keyboard"
P: Phys=80:86:f2:95:b0:95
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-4/2-4:1.0/bluetooth/hci0/hci0:256/input8
U: Uniq=00:04:20:f4:49:db
H: Handlers=sysrq kbd mouse0 event4
B: PROP=0
B: EV=10001f
B: KEY=4837fff072ff32d bf54444600000000 ffff0001 30f908b17c007 ffff7bfad9415fff febeffdfffefffff fffffffffffffffe
B: REL=1c3
B: ABS=70100000000
B: MSC=10


Um das Berechtigungsproblem dauerhaft zu zu lösen habe ich folgede Datei mit diesem Inhalt angelegt angelegt:
/etc/udev/rules.d/80-persistent-hub.rules
ATTRS{Uniq}=="80:86:f2:95:b0:95", ACTION=="add", MODE="0644"
Dies scheind aber nicht zu funktionieren

Weiterhin hab ich nun probiert einen Computer als Windows PC oder MAC PC zu verbinden hierbei bekomme ich nun aber keinerlei Events mehr in FHEM angezeigt. Der connect und Disconnect des Devices (Hub) funktioniert aber noch.

Ich hoffe mir kann hier jemand helfen, das ich mit meiner neuen Harmony auch Geräte über FHEM steuern kann.

Titel: Antw:linux usb hid input modul
Beitrag von: JoergOstertag am 28 Dezember 2015, 11:16:33
Ich hab für meine X10 Fernbedienung mal ein paar Anpassungen am Modul gemacht.
- KonfigurationignoredValues da zu gemacht, denn die X10 hat immer value=0 (KEY_UP)
- Weitere KEY-Symbole dazugefügt
- Logging der Events angepasst/erweitert (Auch ausgeben der symbolischen Namen), weniger Zeilen -dafür alle Informationen- pro Event
- das Space aus den EventNamen bei den DoTrigger entfernt, damit man für das definieren eines Events keine Regex mit "." mehr braucht.
- undefined warnings umgangen durch einfügen von ||=0

Ausserdem habe ich im Wiki eine rudimentäre Seite zu dem Modul angelegt.
http://www.fhemwiki.de/wiki/LinuxHid
Titel: Antw:linux usb hid input modul
Beitrag von: igami am 27 Januar 2016, 19:40:21
Hi,

ich würde gernen meine MediaCenter Fernbedienung mittels des Moduls in FHEM einbinden.
Habe dafür aktuell 2 devices, mit event1 und event2. Dies würde ich gerne wie hier beschrieben
Zitat von: justme1968 am 13 April 2015, 23:00:21
statt eventX kann man auch den device namen angeben (als regex, leerzeichen durch . ersetzt) oder als bus:vendor:device:version:eventTypes string (nicht relevante teile leer lassen)
vereinfachen. Ein define mittels

define mcRemote linuxHid 0x0003:0x05a4
oder
define mcRemote linuxHid HID.05a4:9881

steht zwar auf connected, ich erhalte a0x05a4ber keine Events.

Hier die ausgabe von get devices

$VAR1 = [
          {
            'keys' => '100000 0 0 0',
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_REL',
            'id' => {
                      'bus' => '0x0019',
                      'version' => '0x0100',
                      'product' => '0x0001',
                      'vendor' => '0x0001'
                    },
            'handler' => 'event0',
            'uniq' => '',
            'eventTypes' => '0x7',
            'name' => 'axp20-supplyer'
          },
          {
            'handler' => 'event3',
            'eventTypes' => '0x3',
            'uniq' => '',
            'name' => 'sunxi-ir',
            'eventTypesStr' => 'EV_SYN,EV_KEY',
            'id' => {
                      'vendor' => '0x0001',
                      'bus' => '0x0019',
                      'product' => '0x0001',
                      'version' => '0x0100'
                    },
            'keys' => 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe'
          },
          {
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_MSC,EV_LED,EV_REP',
            'id' => {
                      'vendor' => '0x05a4',
                      'bus' => '0x0003',
                      'product' => '0x9881',
                      'version' => '0x0110'
                    },
            'keys' => 'e080ffdf 1cfffff ffffffff fffffffe',
            'handler' => 'event1',
            'uniq' => '',
            'eventTypes' => '0x120013',
            'name' => 'HID 05a4:9881'
          },
          {
            'eventTypesStr' => 'EV_SYN,EV_KEY,EV_REL,EV_MSC',
            'id' => {
                      'vendor' => '0x05a4',
                      'product' => '0x9881',
                      'version' => '0x0110',
                      'bus' => '0x0003'
                    },
            'keys' => '1f0000 0 2020000 3878 d801d001 1e0000 0 0 0',
            'eventTypes' => '0x17',
            'uniq' => '',
            'handler' => 'event2',
            'name' => 'HID 05a4:9881'
          }
        ];


Kann mir jemand auf die Sprünge helfen?

Grüße
igami
Titel: Antw:linux usb hid input modul
Beitrag von: HansDampfHH am 25 März 2016, 15:10:11
Moin, ich würde gerne mit meiner Harmony Ultimate und dem zugehörigen Hub Kommandos and FHEM senden.
Allerdings scheitere ich wohl bereits bei den Voraussetzungen. Kann mir da vielleicht jemand Tipps geben?
Tut mir leid wenn das hier total falsch ist, da es hier ja eigentlich nicht um den Hub geht.

Wenn ich das richtig verstehe muss ich wohl erst mal den HUB per Bluetooth mit meinem FHEM Server (Debian) pairen.
Daran scheitert es aktuell.

Ich muss bei der Harmony ein neues Gerät einhängen (Computer)?
Auf dem FHEM Server nach Bluetooth Geräten suchen?

Wenn die Bluetoothgeräte gekoppelt wurden werden die Harmony Befehle per Bluetooth über den Hub ab den FHEM Server weitergeleitet und können dort mit diesem Modul hier ausgewertet bzw. genutzt werden?

Ich wäre dankbar für ein paar Hinweise zur Umsetzung des Pairings (Hub <-> Fhem-Server).
Titel: Antw:linux usb hid input modul
Beitrag von: ectomorph am 28 März 2016, 11:43:11
Nun habe ich es mit dem neuen Modul hin bekommen aber nun erscheinen alle Events doppelt. Weiß jemand wie ich das verhindern kann bzw. wie dies zu stande kommt?

Eventmonitor:
2016-03-28 11:05:08 linuxHid hid EV_KEY:KEY_LEFT
2016-03-28 11:05:08 linuxHid hid EV_KEY:KEY_LEFT
2016-03-28 11:05:09 linuxHid hid EV_KEY:KEY_UP
2016-03-28 11:05:09 linuxHid hid EV_KEY:KEY_UP
2016-03-28 11:05:09 linuxHid hid EV_KEY:KEY_RIGHT
2016-03-28 11:05:09 linuxHid hid EV_KEY:KEY_RIGHT
2016-03-28 11:05:09 linuxHid hid EV_KEY:KEY_DOWN
2016-03-28 11:05:09 linuxHid hid EV_KEY:KEY_DOWN
2016-03-28 11:05:10 linuxHid hid EV_KEY:KEY_ENTER
2016-03-28 11:05:10 linuxHid hid EV_KEY:KEY_ENTER

define hid linuxHid Harmony.Keyboard
attr hid icon it_remote
attr hid ignoredTypes EV_SYN,EV_MSC
attr hid room Wohnzimmer,harmony

Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 28 März 2016, 12:21:00
@igami: was meinst du mit vereinfachen? wenn es um das zusammenfassen beider hid devices zu einem fhem device geht: das geht nicht. du brauchst pro event quelle ein fhem device.

@HansDampfHH: wie du die harmony per bluetoth mit einem pc koppelst hängt von deinem pc ab. das prinzipielle vorgehen ist auf den harmony seiten beschrieben.

der hub 'spielt' tastatur und wird wie jede andere bluetoth tastatur eingebunden.

@ectomorph: zeig mal bitte was mit verbose 5 im log steht.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: igami am 28 März 2016, 12:58:38
Zitat von: justme1968 am 28 März 2016, 12:21:00
@igami: was meinst du mit vereinfachen? wenn es um das zusammenfassen beider hid devices zu einem fhem device geht: das geht nicht. du brauchst pro event quelle ein fhem device.
Hatte erst gedacht ich könnte das umgehen, da ja beide den gleichen name haben. Habe es nun mittels "bus:vendor:device:version:eventTypes" angelegt, damit sichergestellt ist, dass ich immer das richtige habe.

Mir ist eben eingefallen, dass ich ja mein DOIF so umstellen kann, dass es auf Events von beiden Devices reagiert, dann muss ich nicht immer erst testen welche Taste zu welchem Device gehört.

Grüße
igami
Titel: Antw:linux usb hid input modul
Beitrag von: ectomorph am 28 März 2016, 13:19:55
Hab ein LOG-Auszug mit Verbose 5 anhangen, ganz unten ist noch eine Action mit dem KEY_MUTE verküpft die dann immer doppelt ausgelöst wird.

Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 31 März 2016, 15:11:28
das schaut so aus als ob die tasten wirklich doppelt kommen. wie sind die wiederholungen im hub für dieses gerät eingestellt?

wenn das nicht hilft schau dir mal das hier an: https://forum.fhem.de/index.php/topic,51619.msg432921.html#msg432921 (https://forum.fhem.de/index.php/topic,51619.msg432921.html#msg432921)

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: MattG am 17 April 2016, 21:00:36
Danke an alle, die das Modul entwickelt haben!

Ich habe damit in kürzester Zeit einen Satechi Media Button in Betrieb genommen, um damit meine Musik zu steuern (per http). Mein Setup:

- Fhem läuft dabei auf einem Raspi unter Raspbian Jessie, mit Bluez 5.23. Dadurch ist es recht simpel mit bluetoothctl sich mit dem Knopf zu verbinden, so dass die Verbindung auch dauerhaft über Systemneustarts erhalten bleibt.

- Ich verwende derzeit die Version vom Anfang des Threads - bei den späteren hatte ich das Problem, dass ich die Events doppelt kamen: Die Key up und Key down kamen als getrennte Events, was bei höheren Loglevels im Logfile sichtbar wird, aber in den Events nicht unterschieden wird. Im Logfile taucht z.B. folgendes auf: "value:1 (KEY_DOWN)". Leider reichen meine Perlkenntnisse noch nicht aus, um das zu beheben.

- Benutzt man den Knopf einige Minuten nicht, geht er in einen Sleepmodus und schaltet die Bluetoothverbindung ab. Damit verschwindet das File /dev/input/event0 und das Device geht auf Disconnected. Sobald man wieder auf den Knopf drückt, verbindet sich auf der Linuxebene wieder alles automatisch und /dev/input/event0 kommt zurück. Leider wird das von dem Modul so nicht erkannt. Es ist schon weiter oben im Thread erwähnt worden, dass in dem Fall der automatische Reconnect nicht greift. Auch hier fehlen mir die Perlkenntnisse, um das zu beheben. Im Moment behelfe ich mich mit einem externen Script, das das File überwacht und einfach in FHEM den connect aufruft.

Aber wenn die Verbindung mal steht funktioniert es sehr gut: Wenig Verzögerung und löst zuverlässig aus!

Gruß,
Matthias
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 17 April 2016, 21:18:27
schau mal bitte etwas weiter oben im thread. ich glaube da hatte ich eine version mit besserem reconenct gepostet.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: MattG am 17 April 2016, 23:34:07
Hallo Andre,

danke für den Hinweis. Ich habe deine Version vom 3.10. ausprobiert - leider wird das Device von dieser Version nicht gefunden. (Ich verwende die Bluetooth-MAC im define und die taucht auch in /proc/bus/input/devices auf.)

Außerdem habe ich die Version vom Dezember von JoergOstertag probiert - hier kommen die Events doppelt.
Inzwischen habe ich auch die Zeile im Quelltext gefunden, an der es hängt. In deiner Version wird Key down und repeat aussortiert und damit gibt's keine Doppelevents: return undef if( $type == EV_KEY && $value != 1);

Ich hab's noch nicht ausprobiert, ob die Version vom Oktober laufen würde, wenn ich direkt /dev/input/event0 angebe - da muss ich noch etwas herumspielen.   

Gruß,
Matthias


Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 18 April 2016, 20:17:34
Hallo Andre,

Zitatich glaube da hatte ich eine version mit besserem reconnect gepostet.

Soweit ich sehe, hast du zuletzt am 3.11. eine Version gepostet, die aber noch den Fehler beim reconnect hatte. Du hast dann geschrieben, du würdest das ändern, aber ich habe danach keine weitere Version mehr gefunden - ich betreibe noch immer meine selbstgestrickte Lösung mit dem Timer. Habe ich da eine neuere Modul-Version übersehen? Ist eigentlich geplant das Modul in die FHEM-Source einzuchecken?

Danke und lG!
Titel: Antw:linux usb hid input modul
Beitrag von: MattG am 18 April 2016, 22:35:44
Hi!

Inzwischen habe ich mir mal die Version vom 3.11. vorgenommen und zum Laufen gebracht. Ich hatte einfach die 5 Doppelpunkte vor der MAC-Adresse vergessen - war ja im Thread beschrieben, muss man nur lesen ;-)

Es geht mir aber wie Gary - der Reconnect funktioniert nicht und soweit ich den Code nachvollzogen habe, habe ich auch die Stelle gefunden, an der es hakt: in linuxHid_findDevice wird das definierte Device in /proc/bus/input/devices gesucht. Sobald aber beim Connect das Device dort nicht auftaucht gibt linuxHid_findDevice ein undef zurück und es erscheint "not found" im Logfile. In diesem Fall wird kein Timer für den Reconnect aufgerufen. Das passiert nur, wenn das Device bei linuxHid_findDevice auftaucht, aber /dev/input/eventX nicht geöffnet werden kann. Damit greift bei mir der automatische Reconnect auch nicht.

Ich betreibe jetzt wie Gary ein Script, dass den Reconnect von außen anstößt, sobald /dev/input/event0 wieder auftaucht. Unelegant, aber erfüllt den Zweck.

Gruß,
Matthias

Titel: Antw:linux usb hid input modul
Beitrag von: Ma_Bo am 28 Juni 2016, 17:03:38
*****EDIT2
Hab es rausgefunden. Wer lesen kann ist klar im Vorteil. ;)

*****

Hallo Leute,
ich versuche meinen RFID USB Leser zum laufen zu bewegen, aber ich erhalte ständig diese Meldung :

2016.06.28 16:58:42 3: RFID_Scanner: error opening /dev/input/event0

nun steht ja im ersten Beitrag etwas mit
Zitat... udev regel anlegen, fhem mit in die nötige gruppe aufnehmen oder fhem als root laufen lassen.
fhem ist in der Gruppe root, aber das bringt auch nix.
es gibt eine Datei unter  /dev/input/  mit dem Namen event0 , wenn ich diese mit nano event0 öffne steht dort aber nichts drin.

Kann mir jemand sagen, was ich falsch mache?

Grüße Marcel


*****EDIT
Scheint jetzt zu laufen, aber wie kann ich jetzt auf eine Zeichenfolge reagiern ?
Ich habe folgendes im LOG :

2016.06.29 08:30:38 3: RFID_Leser: connected to /dev/input/event0
2016.06.29 08:41:48 5: type:4 code:4 value:458782
2016.06.29 08:41:48 5: type:1 code:2 value:1
2016.06.29 08:41:48 4: type:1 code:2 value:1
2016.06.29 08:41:48 4:  (KEY_1)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458782
2016.06.29 08:41:48 5: type:1 code:2 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458789
2016.06.29 08:41:48 5: type:1 code:9 value:1
2016.06.29 08:41:48 4: type:1 code:9 value:1
2016.06.29 08:41:48 4:  (KEY_8)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458789
2016.06.29 08:41:48 5: type:1 code:9 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458785
2016.06.29 08:41:48 5: type:1 code:5 value:1
2016.06.29 08:41:48 4: type:1 code:5 value:1
2016.06.29 08:41:48 4:  (KEY_4)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458785
2016.06.29 08:41:48 5: type:1 code:5 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458790
2016.06.29 08:41:48 5: type:1 code:10 value:1
2016.06.29 08:41:48 4: type:1 code:10 value:1
2016.06.29 08:41:48 4:  (KEY_9)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458790
2016.06.29 08:41:48 5: type:1 code:10 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458791
2016.06.29 08:41:48 5: type:1 code:11 value:1
2016.06.29 08:41:48 4: type:1 code:11 value:1
2016.06.29 08:41:48 4:  (KEY_0)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458791
2016.06.29 08:41:48 5: type:1 code:11 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458786
2016.06.29 08:41:48 5: type:1 code:6 value:1
2016.06.29 08:41:48 4: type:1 code:6 value:1
2016.06.29 08:41:48 4:  (KEY_5)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458786
2016.06.29 08:41:48 5: type:1 code:6 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458791
2016.06.29 08:41:48 5: type:1 code:11 value:1
2016.06.29 08:41:48 4: type:1 code:11 value:1
2016.06.29 08:41:48 4:  (KEY_0)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458791
2016.06.29 08:41:48 5: type:1 code:11 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458783
2016.06.29 08:41:48 5: type:1 code:3 value:1
2016.06.29 08:41:48 4: type:1 code:3 value:1
2016.06.29 08:41:48 4:  (KEY_2)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458783
2016.06.29 08:41:48 5: type:1 code:3 value:0
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458783
2016.06.29 08:41:48 5: type:1 code:3 value:1
2016.06.29 08:41:48 4: type:1 code:3 value:1
2016.06.29 08:41:48 4:  (KEY_2)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458783
2016.06.29 08:41:48 5: type:1 code:3 value:0
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458783
2016.06.29 08:41:48 5: type:1 code:3 value:1
2016.06.29 08:41:48 4: type:1 code:3 value:1
2016.06.29 08:41:48 4:  (KEY_2)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458783
2016.06.29 08:41:48 5: type:1 code:3 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458792
2016.06.29 08:41:48 5: type:1 code:28 value:1
2016.06.29 08:41:48 4: type:1 code:28 value:1
2016.06.29 08:41:48 4:  (KEY_ENTER)
2016.06.29 08:41:48 5: type:0 code:0 value:0
2016.06.29 08:41:48 5: type:4 code:4 value:458792
2016.06.29 08:41:48 5: type:1 code:28 value:0
2016.06.29 08:41:48 5: type:0 code:0 value:0


Wie kann ich jetzt darauf reagieren ? Am liebsten wäre mir ein Reading mit der Zeichen bzw. Zahlenfolge die sich aus den (KEY_x) ergibt, in meinem Fall 1849050222

Jemand ne Idee ?
Titel: Antw:linux usb hid input modul
Beitrag von: Gorean am 08 September 2016, 17:41:10
Hallo Leute,

ich habe das linuxHID wie auf der ersten Seite beschrieben installiert, bekomme es aber irgendwie nicht zum laufen...

Mit bluetoothctl besteht auf der RPI Seite Zugriff auf das BT Device (RPI3). In der Harmony App wurde als Gerät "Microsoft - PLEX" angegeben, damit das Pairing gestartet wird.

Nach einem Pair und Connect findet sich auch ein Device "event0" auf dem RPI. Das Device ist in H: kbd, also sollte es ein Input device sein.

Mit "define hid linuxHid event0" ist es aktuell in FHEM eingebunden.

Meine Erwartung wäre jetzt, dass sobald ich das Gerät "Plex" auf der Harmony FB oder in der App starte, die gedrückten Keys im Eventmonitor erscheinen.

Der bleibt leider leer :( Hat irgendjemand einen Tip was schief gehen könnte?

Falls es ein besseres Gerät als "Microsoft - PLEX" gibt, wäre ich für einen Tip dankbar. Ziel wäre es, möglichst viele Tasten der Elite an FHEM übertragen zu können.

VG,
Peter
Titel: Antw:linux usb hid input modul
Beitrag von: Gary am 09 September 2016, 21:11:45
Hallo Peter,

ich kann dir folgen und aus meiner Sicht sieht alles gut aus. Und ja, wenn es funkt, dann tauchen die Tasten im Eventmonitor auf.

Hast du überprüft, ob in dem Moment, wo du testest (also die Tasten drückst) tatsächlich das Device am PI verbunden ist (in /proc/bus/input/devices auftaucht) UND das Device hid in FHEM den STATE "Connected" hat? Sowohl der Raspberry als auch FHEM verlieren gerne die Verbindung nach dem pairen ... siehe auch das Thema "Reconnect Scripts".

Ich habe übrigens "WindowsPC" als Gerät ausgewählt - hat sämtliche Steuertasten und ein volles Keyboardlayout (über Plex weiß ich nichts).

LG, Gerald
Titel: Antw:linux usb hid input modul
Beitrag von: Gorean am 12 September 2016, 23:39:07
Hallo Gerald,

das hid device in FHEM war nicht sauber connected. Musste fhem noch in die group eintragen...

Danke!!!

Titel: Antw:linux usb hid input modul
Beitrag von: Gorean am 13 September 2016, 00:39:05
Hmmm... jetzt klappt die Übergabe an FHEM einwandfrei, trotzdem löst das mein Problem (noch) nicht...

Ich habe eine Harmony Elite. Ich würde gerne folgende Tasten mit Kommandos an FHEM belegen:

- rot
- grün
- gelb
- blau
- 2x lampe
- +/-
- 2x Steckdose

Alles unterhalb und einschließlich der Farbtasten eben. Am besten noch mit long/short...

Mit einem Windows-PC scheint das aktuell nicht möglich. Hat jemand einen Tip, wie man diese Tasten ansteuern kann?

VG,
Peter

Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 13 September 2016, 10:28:31
schau dir das fakeRoku modul und den harmony tips thread an.

das heisst wenn du auch einen harmony hub hast. wenn nicht: ich würde dir sehr empfehlen einen zu kaufen. du machst dir vieles einfacher.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Gorean am 13 September 2016, 16:10:33
Hi Andre,

das fakeRoku hatte ich im Einsatz bevor ich auf HID gewechselt bin. Grund hierfür war, dass fakeRoku nur bestimmte Tasten auf der Elite unterstützt.

Ich hatte die Hoffnung, dass ich mit HID ein beliebiges virtuelles Gerät auf der Fernbedienung konfigurieren kann und damit Zugriff die unteren Tasten der Elite bekomme.

Konkret würde ich die beiden Lichttasten gerne zur Lichtsteuerung (helles Weiss und dunkles Weiss inkl. +/- für Dimmen), die beiden Steckdosentasten zur Rolladensteuerung (hoch/runter, Stop bei Longpress) und die 4 Farbtasten zur Ansteuerung von 8 LightScenes über Long-/Shortpress verwenden.

Alle anderen Tasten werden in verschiedenen Activities vom ein oder anderen Gerät meiner Multimediasteuerung verwendet, daher wäre es toll, wenn ich die unteren Tasten ansteuern könnte.

Den von Dir angegebenen "Harmony Tips" Thread finde ich leider trotz Suche im Forum nicht. Und die Elite hat meines Wissens nach immer einen Hub dabei - ohne wäre ich sicher schon verzweifelt :)

Gruß,
Peter
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 13 September 2016, 16:41:23
ob und welche tasten du wie belegen kannst ist unabhängig davon ob du fakeRoku oder mce oder was auch immer nimmst.

warum kannst du die farbtasten und die licht tasten nicht belegen? so viel ich weiss ist es nur bei der companion nicht möglich die licht tasten zu belegen.

der thread ist hier: https://forum.fhem.de/index.php/topic,52246.msg440073.html#msg440073 (https://forum.fhem.de/index.php/topic,52246.msg440073.html#msg440073)

ohne hub heisst sie nur anders. ist aber das gleiche.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Gorean am 16 September 2016, 15:48:10
Hallo Andre,

der Thread hat geholfen. Ich hatte übersehen, dass man die Tasten bei den Activities belegen kann. Danke Dir!

Gruß,
Peter
Titel: Antw:linux usb hid input modul
Beitrag von: Hans Franz am 21 November 2016, 17:28:15
Hallo,
Ich bekomme nur dann ein event, wenn ich Zeile 497
my ($sec, $usec, $type, $code, $value) = unpack('L!L!S!S!l!', $buf);
durch
my ($sec, $usec, $type, $code, $value) = unpack('L!L!S!S!S!', $buf);
ersetze.
Bug, Sonderfall oder mache ich etwas falsch?

Gruß
Hans
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 21 November 2016, 18:05:48
was ist das für ein system? 32/64 bit? was steht im eventSize internal?
was gibt{use Config;; $Config{longsize}}
{use Config;; $Config{intsize}}
{use Config;; $Config{i16size}}
{use Config;; $Config{i32size}}


das format des events ist leider kernel abhängig. eventuell kann man es aus eventSize ableiten. bis jetzt hatte ich nur nicht genügend unterschiedliche beispiele.

schau mal ob es mit I! geht.

gruss
  andre
Titel: Antw:linux usb hid input modul
Beitrag von: Hans Franz am 21 November 2016, 18:45:45
Zitatwas ist das für ein system? 32/64 bit?
64

Zitatwas steht im eventSize internal?
24

Zitat{use Config;; $Config{longsize}}
8

Zitat{use Config;; $Config{intsize}}
4

Zitat{use Config;; $Config{i16size}}
2

Zitat{use Config;; $Config{i32size}}
4

Zitatschau mal ob es mit !I geht.
geht :)

Gruß
Hans
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 21 November 2016, 18:53:22
jetzt brauchen wir noch einen tester bei dem l! bisher keine probleme gemacht hat. funktioniert I! hier auch?
Titel: Antw:linux usb hid input modul
Beitrag von: Falkenstein am 21 November 2016, 20:07:00
Ich hatte auch das Modul auf einen Intel Nuc mit Ubuntu 64 Bit versucht zum laufen zu bekommen...leider ohne Erfolg.

Ich würde es gern erneut testen....denn möchte sehr gern das  usb hid input modul unter Fhem nutzen

Zitatschau mal ob es mit !I geht.

Wo und wie genau muss ich das "!I" eintragen??

Gruß,
Falkes
Titel: Antw:linux usb hid input modul
Beitrag von: chr2k am 07 September 2017, 01:26:49
Nabend Leute,

irgendwie ist mir das Rätselhaft:
Auf meiner alten FHEM Konfiguration, lief das linuxhid Modul in Verbindung mit einer X10 Funkfernbedienung und diversen notifys einwandfrei.
Nun habe ich nach dem Wiki und meiner alten fhem.cfg den X10 Empfänger bei meinem neuen FHEM-System eingerichtet. EIn notify erstellt. Die Taste wird erkannt und löst die Aktion laut notify aus.
Soweit so gut.
Jedoch wird ein einziger kurzer Tastendruck auf der Fernbedienung 2x im Event Monitor angezeigt. Das ist bei jeder Taste so. Somit würd die Aktion die laut notify getriggert wird, doppelt hintereinander ausgeführt. Das ist doof.

Ich weiß leider nicht mehr, ob das beim alten FHEM bereits auch schon so war. Auf jendefall gab es aber nicht das doppelte ausführen der Aktion des notifys.
Weitere Attribute (wie bspw. event-min-interval) hatte ich für die betreffenden Devices auch nicht gesetzt.
Daher ist das für mich kurios warum 1. der Tastendruck 2x erkannt wird und 2. es beim vorherigen FHEM womöglich auch so war, dort dem notify aber egal war.

Hat jemand ne Idee dazu?

Danke.

Gruß
Christian
Titel: Antw:linux usb hid input modul
Beitrag von: chr2k am 07 Oktober 2017, 22:33:36
Nabend Leute,

ich fage mich gerade, ob es möglich ist ohne groß Schnickschnack oder dummy Devices anlegen eine Funktion zu erstellen, die es mir ermöglicht erst ein Event auszulösen wenn ich bspw zwei Tasten der Fernbedienung direkt hintereinander gedrückt habe. So wäre dann ein unbeabsichtigtes Schalten einer Funktion sicherer.

Hat jemand Ideen für eine Umsetzung?
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 07 Oktober 2017, 22:35:16
dafür gibt es das sequence modul.
Titel: Antw:linux usb hid input modul
Beitrag von: chr2k am 07 Oktober 2017, 23:13:56
Zitat von: justme1968 am 07 Oktober 2017, 22:35:16
dafür gibt es das sequence modul.

Ah wie geil. Danke.
Titel: Antw:linux usb hid input modul
Beitrag von: Schlimbo am 06 Januar 2019, 00:08:26
Hallo zusammen,
auf der Suche nach einer Möglichkeit einen PlayStation 3 Controller über Bluetooth in FHEM einzubinden bin ich auf dieses Modul gestoßen. Vielen Dank erst mal hierfür an Andre.

Ist die Version im ersten Beitrag noch die aktuellste? Und wird dieses Modul noch weiter entwickelt?
Zitat von: justme1968 am 13 April 2015, 23:00:21
was fehlt noch:

  • zur zeit werden nur tastatur events verarbeitet. d.h. die oben angesprochenen maus und joystick events gehen noch nicht.
  • fast alle fhem events haben noch keine symbolischen tasten namen sondern nur key codes
  • symbolische namen für press, release und repeat
  • konfiguration ob release events erzeugt werden sollen
  • standardisieren der in fhem ausgelösten events

was ist noch denkbar:

  • im exclusiv modus events die nicht für fhem gedacht sind wieder ans system zurück weiterreichen
  • ...

Zum Verbinden eines PS3 Controllers an den Raspberry Pi gibt es im Netz einige Beschreibungen (Stichwort: "sixpair").
Eingebunden in FHEM habe ihn dann mit:
defmod PS3controller linuxHid PLAYSTATION.*Controller
attr PS3controller ignoredTypes EV_SYN,EV_ABS


Bis auf die Joystick Events könnte ich alle Tasten in FHEM einbinden, etwas Probleme macht mir noch die Erkennung der Release-events, da dieser den gleichen Wert, wie das drücken der Taste liefert:

2019-01-05 22:34:18.599 linuxHid PS3controller EV_MSC: 4 589829
2019-01-05 22:34:18.620 linuxHid PS3controller EV_KEY: KEY_544
2019-01-05 22:34:21.614 linuxHid PS3controller EV_MSC: 4 589829


Über ein Sub in der myUtils setze ich mir jetzt ein Reading beim ersten EV_MSC Event auf "1" und beim zweiten wieder auf "0", so habe ich für jede Taste ein Reading mit dem Zustand, ob eine Taste gedrückt ist:

sub PS3controller($$) {
my ($name,$EVENT) = @_;
$EVENT =~ s/://g;
my @tmp = split / /, $EVENT, 2;
my $EVTPART0 = $tmp[0];
my $EVTPART1 = $tmp[1];


#Log 3, ("PS3controller: $EVENT, $EVTPART0, $EVTPART1");

if ($EVTPART0 eq "EV_KEY") {
   my $keys = {
      'KEY_307'  => 'KEY_TRIANGLE',
      'KEY_305'  => 'KEY_CIRCLE',
      'KEY_308'  => 'KEY_SQUARE',
      'KEY_304'  => 'KEY_X',
      'KEY_316'  => 'KEY_PS',
      'KEY_546'  => 'KEY_LEFT',
      'KEY_547'  => 'KEY_RIGHT',
      'KEY_544'  => 'KEY_UP',
      'KEY_545'  => 'KEY_DOWN',
      'KEY_311'  => 'KEY_R1',
      'KEY_313'  => 'KEY_R2',
      'KEY_310'  => 'KEY_L1',
      'KEY_312'  => 'KEY_L2',
      'KEY_314'  => 'KEY_SELECT',
      'KEY_315'  => 'KEY_START',
      'KEY_318'  => 'KEY_JOYSTICK_R_PUSH',
      'KEY_317'  => 'KEY_JOYSTICK_L_PUSH'
   };
   $EVTPART1 = $keys->{$EVTPART1} if (defined($keys->{$EVTPART1}));
   readingsSingleUpdate($defs{$name}, "KEY", $EVTPART1, 1);
   my $value = ReadingsNum($name,"$EVTPART1",0);
   if ($value == 0){
     readingsSingleUpdate($defs{$name}, $EVTPART1, 1, 1)
   }
}

elsif ($EVTPART0 eq "EV_MSC") {
    my $mscs = {
      '4 589837'  => 'KEY_TRIANGLE',
      '4 589838'  => 'KEY_CIRCLE',
      '4 589840'  => 'KEY_SQUARE',
      '4 589839'  => 'KEY_X',
      '4 589841'  => 'KEY_PS',
      '4 589832'  => 'KEY_LEFT',
      '4 589830'  => 'KEY_RIGHT',
      '4 589829'  => 'KEY_UP',
      '4 589831'  => 'KEY_DOWN',
      '4 589836'  => 'KEY_R1',
      '4 589834'  => 'KEY_R2',
      '4 589835'  => 'KEY_L1',
      '4 589833'  => 'KEY_L2',
      '4 589825'  => 'KEY_SELECT',
      '4 589828'  => 'KEY_START',
      '4 589827'  => 'KEY_JOYSTICK_R_PUSH',
      '4 589826'  => 'KEY_JOYSTICK_L_PUSH'
    };

    my $EVTPART1 = $mscs->{$EVTPART1} if (defined( $mscs->{$EVTPART1}));
    my $value = ReadingsNum($name,"$EVTPART1",0);
    if ($value == 0){
     readingsSingleUpdate($defs{$name}, $EVTPART1, 1, 1)
    }
    else {
     readingsSingleUpdate($defs{$name}, $EVTPART1, 0, 1)
    }
}

elsif ($EVENT =~ m/connect/ ){
   my $hash=$defs{$name};
   my $readings = $hash->{READINGS};
   foreach my $reading(keys %{$readings}){
    if (ReadingsNum($name,$reading,0) == 1){
     readingsSingleUpdate($defs{$name}, $reading, 0, 1)
    }
   }
}

return undef
}


Dies wird über ein notify des linuxHid Devices getriggert:
defmod PS3controller_notify notify PS3controller:.* {PS3controller($NAME,$EVENT)}
Da diese Lösung natürlich nicht optimal ist und unter Umständen einen falschen Status darstellen könnte wäre es super, wenn für den release einer Taste das Modul ein eindeutige EVENT ausgeben könnte.
@Andre: siehst du hierfür eine Möglichkeit?

Wenn der PS3 Controller ausgeschaltet ist erkennt das Modul dies korrekt und zeigt im Internal STATE
"Disconnected" an, ich würde auf diese Änderung gerne in FHEM reagieren jedoch gibt es hier kein EVENT.
Wäre es möglich hierfür noch einen EVENT zur Verfügung zu stellen?

Das automatische connecten, wenn der Controller wieder eingeschaltet wird, funktionierte durch das Modul noch nicht. Abhilfe schaffte hier eine udev Regel:
(/etc/udev/rules.d/99-dualshock3.rules)
ACTION=="add", KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="PLAYSTATION(R)3 Controller", GROUP="input", MODE="0660", RUN+="/opt/fhem/PS3connected.sh"
PS3connected.sh:
#!/bin/bash
perl /opt/fhem/fhem.pl 7072 "set PS3controller connect"
exit 0


Da der Akku des PS3 Controller bei einer dauerhaften Verbindung recht schnell entladen wird, trenne ich die Bluetooth Verbindung bei nichtgebrauch nach 5 Minuten durch FHEM:
defmod di_PS3controller DOIF ([PS3controller]) ({system('(echo "disconnect 00:24:33:4A:61:22 \n quit" | bluetoothctl) &')})
attr di_PS3controller do resetwait
attr di_PS3controller wait 300

Durch einen Druck auf die PS Taste am Controller, wacht dieser wieder auf und verbindet sich durch die udev Regel automatisch mit FHEM.
Nutze meinen PS3 Controller jetzt für die manuelle Steuern meines Staubsauger Roboters :)

Hoffe dies Anleitung ist für einige hilfreich und würde mich freuen wenn das Modul noch etwas weiter entwickelt wird und es noch in das offizielle FHEM Update schafft.

Beste Grüße Schlimbo
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 06 Januar 2019, 13:30:30
ich habe an dem modus nichts weiter gemacht, es scheint auch bis jetzt nicht viele anwender zu geben :)

siehst du mit verbose 5 für press und release irgendwelche unterscheide?

ein event für disconnect kann ich einbauen.
Titel: Antw:linux usb hid input modul
Beitrag von: Schlimbo am 06 Januar 2019, 14:54:47
Hier das Log mit Verbose 5 bei Betätigen der "UP" Taste (code:544):
2019.01.06 14:39:56.521 5: type:3 code:4 value:127
2019.01.06 14:39:56.522 5: type:0 code:0 value:0
2019.01.06 14:39:56.602 5: type:3 code:0 value:126
2019.01.06 14:39:56.603 5: type:0 code:0 value:0
2019.01.06 14:39:56.611 5: type:4 code:4 value:589829
2019.01.06 14:39:56.611 4: type:4 code:4 value:589829
2019.01.06 14:39:56.611 4:  (KEY_3)
2019.01.06 14:39:56.638 5: type:1 code:544 value:1
2019.01.06 14:39:56.639 4: type:1 code:544 value:1
2019.01.06 14:39:56.660 5: type:3 code:0 value:125
2019.01.06 14:39:56.661 5: type:3 code:1 value:127
2019.01.06 14:39:56.663 5: type:0 code:0 value:0
2019.01.06 14:39:56.663 5: type:3 code:0 value:126
2019.01.06 14:39:56.664 5: type:0 code:0 value:0
2019.01.06 14:39:56.665 5: type:3 code:0 value:125
2019.01.06 14:39:56.666 5: type:3 code:1 value:128
2019.01.06 14:39:56.667 5: type:0 code:0 value:0
2019.01.06 14:39:56.668 5: type:3 code:1 value:127
2019.01.06 14:39:56.669 5: type:0 code:0 value:0
2019.01.06 14:39:56.670 5: type:3 code:1 value:128
2019.01.06 14:39:56.671 5: type:0 code:0 value:0
2019.01.06 14:39:56.714 5: type:3 code:0 value:126
2019.01.06 14:39:56.715 5: type:0 code:0 value:0
2019.01.06 14:39:56.746 5: type:3 code:1 value:127
2019.01.06 14:39:56.747 5: type:3 code:4 value:128
2019.01.06 14:39:56.747 5: type:0 code:0 value:0
2019.01.06 14:39:56.760 5: type:3 code:0 value:125
2019.01.06 14:39:56.761 5: type:0 code:0 value:0
2019.01.06 14:39:56.767 5: type:3 code:4 value:127
2019.01.06 14:39:56.768 5: type:0 code:0 value:0
2019.01.06 14:39:56.781 5: type:3 code:1 value:128
2019.01.06 14:39:56.782 5: type:0 code:0 value:0
2019.01.06 14:39:56.790 5: type:3 code:1 value:127
2019.01.06 14:39:56.791 5: type:0 code:0 value:0
2019.01.06 14:39:56.804 5: type:3 code:1 value:128
2019.01.06 14:39:56.805 5: type:0 code:0 value:0
2019.01.06 14:39:56.813 5: type:3 code:0 value:126
2019.01.06 14:39:56.814 5: type:0 code:0 value:0
2019.01.06 14:39:56.827 5: type:3 code:0 value:125
2019.01.06 14:39:56.827 5: type:0 code:0 value:0
2019.01.06 14:39:56.849 5: type:4 code:4 value:589829
2019.01.06 14:39:56.850 4: type:4 code:4 value:589829
2019.01.06 14:39:56.850 4:  (KEY_3)
2019.01.06 14:39:56.870 5: type:1 code:544 value:0
2019.01.06 14:39:56.871 5: type:3 code:0 value:126
2019.01.06 14:39:56.872 5: type:3 code:4 value:128
2019.01.06 14:39:56.873 5: type:0 code:0 value:0
2019.01.06 14:39:56.873 5: type:3 code:4 value:127
2019.01.06 14:39:56.874 5: type:0 code:0 value:0
2019.01.06 14:39:56.875 5: type:3 code:4 value:128
2019.01.06 14:39:56.875 5: type:0 code:0 value:0

Sieht so aus als ist der Status bei type 1 im "value" enthalten.
Die Zeilen für type 0 und 3 erschließen sich mir noch nicht.
Und was bedeutet das "(KEY_3)" im Log? Gibt es hier intern schon ein mapping der codes?
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 06 Januar 2019, 20:30:35
der type gibt an welche art von events es ist.

0 ist eine art sync
1 sind key events
3 ist EV_ABS und ist z.b. für touchscreens. es könnte sein das das deine joystick events sind. s.u.
4 ist EV_MSC. das sind events die sonst nirgendwo rein passen.

ja. press und release stecken im value. das modul ignoriert eigentlioch key events beim loslassen und sendet nur ein fhem event beim drücken. siehe zeile 502.

das modul erkennt 'normale' tastaturen und die verwendeten keycodes. manche anderen input devices verwenden die gleichen codes obwohl es eigentlich ganz andere tasten sind. der KEY_3 wird aber fälschlicherweise ausgegeben weil das event gar kein key events ist. die Ausgabe müsste man in diesem fall unterdrücken.

brauchst du wirklich press und release?
wenn press reicht solltest du besser die KEY events auswerten statt der EV_MSC. EV_MSC scheint device spezifisch zu sein und liefert scheinbar bei dir nur einen trigger das sich etwas geändert hat. nicht ob press oder release.

wenn du wirklich release auch brauchst würde ich vorschlagen im modul für EV_KEY auch bei release ein event zu triggern. wie wäre es mit EV_RELEASE statt EV_KEY? und das ganze per attribut zu aktivieren.


wenn 3 dein joystick ist wäre code vermutlich die achse 0=x und 1=y oder umgekehrt und value der wert 0-255 mit 127 die mitte. die werte von 126-128 wären minimale wackler um die mitte.

ich kann leider selber schlecht weiter nachschauen da ich aktuell keinen linux rechner mit einer tastatur laufen habe.

doku zum protokoll findest du z.b. hier: https://www.kernel.org/doc/Documentation/input/event-codes.txt
Titel: Antw:linux usb hid input modul
Beitrag von: Schlimbo am 06 Januar 2019, 22:40:02
Danke für deine Antwort.
Die release Events sind für einen Controller schon sehr wichtig, da die Tasten in der Regel gehalten werden. (Beispiel: Vorwärtsbewegung des Roboters soll solange erfolgen bis die UP-Taste wieder losgelassen wird)
Ein "EV_RELEASE" Event wäre hier super.

Mit den Joystick Events liegst du auch richtig:
-Linker Joystick: code 0 = X-Achse, code 1 = Y-Achse
-Rechter Joystick: code 3 = X-Achse, code 4 = Y-Achse
-Wertebereich X-Achse: 0-255  (0= links)
-Wertebereich Y-Achse: 0-255  (0= oben)

Da die Joystick Events im bis zu 10ms Abstand eintreffen wäre es gut wenn das Modul auch noch die Event-Attribute (event-aggregator, event-min-interval, event-on-change-reading und event-on-update-reading) unterstützten würde.
Ach Mist, die Event-Attribute beziehen sich ja nur auf Readings. Gibt es sonst noch eine Möglichkeit die EV_ABS Events etwas zu verringern?
Titel: Antw:linux usb hid input modul
Beitrag von: Schlimbo am 29 Januar 2019, 21:56:33
Hallo Andre,
hattest du schon mal Zeit dir die nötigen Anpassungen für release und disconnect Events anzusehen?
Zitat von: justme1968 am 06 Januar 2019, 13:30:30
ein event für disconnect kann ich einbauen.
Zitat von: justme1968 am 06 Januar 2019, 20:30:35
wenn du wirklich release auch brauchst würde ich vorschlagen im modul für EV_KEY auch bei release ein event zu triggern. wie wäre es mit EV_RELEASE statt EV_KEY? und das ganze per attribut zu aktivieren.

Und siehst du eine Möglichkeit die EV_ABS Events zu begrenzen?
Zitat von: Schlimbo am 06 Januar 2019, 22:40:02
Da die Joystick Events im bis zu 10ms Abstand eintreffen wäre es gut wenn das Modul auch noch die Event-Attribute (event-aggregator, event-min-interval, event-on-change-reading und event-on-update-reading) unterstützten würde.
Ach Mist, die Event-Attribute beziehen sich ja nur auf Readings. Gibt es sonst noch eine Möglichkeit die EV_ABS Events etwas zu verringern?

Gruß
Schlimbo
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 30 Januar 2019, 09:42:21
nein. ich bin noch nicht dazu gekommen. sorry.

nerv mich weiter wenn ichat passiert.
Titel: Antw:linux usb hid input modul
Beitrag von: Wzut am 29 Juni 2019, 18:25:38
Hallo Andre, ich bin mit meinem Medion X10 Stick + Fernbedienung vom RasPi auf einen HP T610 Thin Client unter Debian Stretch umgezogen.
Zuerst habe ich keine Events gesehen, dafür jede Menge Stacktrace Enträge im Log :(
Das Problem liegt bei
my ($sec, $usec, $type, $code, $value) = unpack('L!L!S!S!l!', $buf);
$value ist immer undef, ich habe als Notlösung nun
$value = 1 if (!defined($value));
darunter gepackt, damit ich überhaupt die KEY Events bekomme. Natürlich habe habe ich nun bei gedrückter Taste Dauerfeuer, da press und release
nicht mehr unterschieden wird  ( naja immerhin besser als gar nichts ) 
Was könnte der Grund sein ? bzw was kann ich tun um der Ursache näher zu kommen ?
anbei Log und Event für eine gedrückte und gehaltene Taste:
2019.06.29 18:19:28 5 : type:4 code:4 value:1
2019.06.29 18:19:28 5 : type:1 code:113 value:1
2019.06.29 18:19:28 4 : type:1 code:113 value:1
2019.06.29 18:19:28 4 : (KEY_MUTE)
2019-06-29 18:19:28 linuxHid myremote EV_KEY: KEY_MUTE
2019.06.29 18:19:28 5 : type:0 code:0 value:1
2019.06.29 18:19:28 5 : type:1 code:113 value:1
2019.06.29 18:19:28 4 : type:1 code:113 value:1
2019.06.29 18:19:28 4 : (KEY_MUTE)
2019-06-29 18:19:28 linuxHid myremote EV_KEY: KEY_MUTE
2019.06.29 18:19:28 5 : type:0 code:0 value:1
Titel: Antw:linux usb hid input modul
Beitrag von: chr2k am 15 April 2020, 18:31:28
Nabend Leute,

hat jemand zu meinem Problem eine Idee:

Ich nutze das Modul schon länger auf einem RPi mit raspbian.

Nun möchte ich eine baugleiche Fernbedienung an einem anderen RPi auf dem OSMC läuft nutzen.

Nun greift sich aber OSMC (eigentlich Kodi) die Tastendrücke der Fernbedienung weg und sie kommen in FHEM nicht an. Wie kann ich OSMC/kodi verbieten meine X10 Fernbeidenung zu "belauschen"?

Danke.

Gruß
Christian

Titel: Antw:linux usb hid input modul
Beitrag von: hexenmeister am 16 April 2020, 21:27:15
Man könnte probieren, dem Benutzer, unter dem Kodi läuft, die Rechte, auf das Device zuzugreifen, weg zu nehmen.
Titel: Antw:linux usb hid input modul
Beitrag von: justme1968 am 17 April 2020, 19:46:08
wenn ich mich richtig erinnere können mehrere gleichzeitig die events lesen.

bist du sicher das fhem auch die nötigen rechte hat?
Titel: Antw:linux usb hid input modul
Beitrag von: chr2k am 29 Dezember 2020, 22:35:54
Zitat von: hexenmeister am 16 April 2020, 21:27:15
Man könnte probieren, dem Benutzer, unter dem Kodi läuft, die Rechte, auf das Device zuzugreifen, weg zu nehmen.

Danke für deine Ideenanstoß. Das Problem lag jetzt seit Ostern flach.
Ich habe jetzt nach Möglichkeiten gesucht.

Der Benutzer "osmc" unter dem Kodi läuft ist nicht in der Gruppe "input".

root@osmc:~# id osmc
uid=1000(osmc) gid=1000(osmc) groups=1000(osmc),4(adm),6(disk),7(lp),20(dialout),24(cdrom),29(audio),44(video)


Die Dateien /dev/input/event* "gehören" nach jedem Neustart des RPi wie folgt:

root@osmc:~# ls -l /dev/input/event*
crw-rw---- 1 root osmc 13, 64 Dec 29 22:26 /dev/input/event0
crw-rw---- 1 root osmc 13, 65 Dec 29 22:26 /dev/input/event1
crw-rw---- 1 root osmc 13, 66 Dec 29 22:26 /dev/input/event2



Daher bin ich hier schon am Ende meiner Ideen oder Möglichkeiten weiter zu suchen.
Ich bin auf UDEV Regeln gestoßen, die mir evtl weiter helfen könnten. Jedoch sind das für mich böhmische Dörfer.
Titel: Antw:linux usb hid input modul
Beitrag von: chr2k am 29 Dezember 2020, 22:38:28
Zitat von: justme1968 am 17 April 2020, 19:46:08
wenn ich mich richtig erinnere können mehrere gleichzeitig die events lesen.

bist du sicher das fhem auch die nötigen rechte hat?

Hi Andre,

siehe meinen vorherigen Post in dem ich auf Hexenmeister's Nachricht eingehe.

Ich bin mir momentan tatsächlich nicht ganz sicher ob der Benutzer "fhem" unter dem FHEM läuft die korrekten Rechte hat. Wenn ich diese jedoch setze (zumindest bin ich der Meinung, dass ich diese richtig setze) bekomme FHEM nach wie vor nichts mitx Kodi jedoch schon.

Ich surfe mal weiter...
Titel: Antw:linux usb hid input modul
Beitrag von: chr2k am 30 Dezember 2020, 00:11:33
So, ich habs wohl...

Ich habe einige UDEV Regeln in /lib/udev/rules.d/ von OSMC gelöscht die "irgendwas" mit Input Devices zu tun haben.

Nun wurde im Kodi die X10 Fernbedienung nicht mehr erkannt.

Danach habe ich User und Group der /dev/input/event* Ordner auf fhem:input gewechselt. Und nun erkennt FHEM die Tastendrücke.

Vielleicht habe ich von hinten durchs Bein ins Auge geschossen, aber es funktioniert.

Wenn jemand einen besseren Vorschalg/Lösungsweg hat, inmmer her damit.

Danke.

Gruß
Christian


Titel: Antw:linux usb hid input modul
Beitrag von: RomanticBoy83 am 03 März 2021, 20:38:05
Hallo Leute,
ich wollte mir auch eine Tastatur anschließen!

Um das ganze ersteinmal auszuversuchen hatte ich mir das Modul auf meinen Rechner in meine Entwicklungsumgebung gezogen. Fazit: Es läuft nix im Eventmonitor! Auffällig war, das im Log unter value: die Variable immer unbelegt war!

Lange Rede kurzer Sinn:
Das Auslesen des $buf von dem /dev/eventx läuft auf dem Kernel hier anders.
Kernel: 5.4.0 welche ich habe benötigt das format
unpack('l!l!S!S!i!', $buf);

Quelle:
https://github.com/torvalds/linux/blob/v5.0-rc1/include/uapi/linux/input.h#L28 (https://github.com/torvalds/linux/blob/v5.0-rc1/include/uapi/linux/input.h#L28)
Titel: Antw:linux usb hid input modul
Beitrag von: RomanticBoy83 am 03 März 2021, 21:07:16
Ich habe mir gerade meinen kleinen Pi angesehen:
Kernel: 4.19
Dort sollte das Format auch wie von mir angegeben stimmen.

Keine Ahnung ob ich jetzt falsch liege oder der Code wirklich überarbeitet werden muss?! :-\

Quelle:
https://github.com/torvalds/linux/blob/v4.19/include/uapi/linux/input.h#L28 (https://github.com/torvalds/linux/blob/v4.19/include/uapi/linux/input.h#L28)
Titel: Antw:linux usb hid input modul
Beitrag von: Ned am 03 April 2021, 04:18:06
Zitat von: hexenmeister am 04 Oktober 2015, 01:18:45
Wenn FHEM nicht gerade als root läuft (was keine gute Idee wäre), dann ist das Problem klar.
zum Probieren kannst Du chmod verwenden. Dauerhaft kommst Du nicht wirklich um udev herum. Ist aber weniger kompliziert, als es sich anhört.
Ich habe das bei mir schon mal gemacht und hier beschrieben: http://s6z.de/cms/index.php/homeautomation/fhem/94-x10-funkfernbedienung-mit-fhem-nutzen (http://s6z.de/cms/index.php/homeautomation/fhem/94-x10-funkfernbedienung-mit-fhem-nutzen)
Die vorgeschlagen udev-Regel müsstest Du an Dein Gerät natürlich anpassen, steht aber eigentlich alles dafür nötiges drin. Melde Dich wieder, falls etwas nicht klar ist.


Hallo Hexenmeister
ist Deine Anleitung immer noch aktuell?

Auf meinem RasPi 3 mit Raspbian Buster lite und flirc USB bekomme ich LinuxHID nicht zum laufen
Beim erstellen eines Devices (define hid linuxHid event0) bekomme ich nur die Fehlermeldung Unknown module linuxHid

die udev-Regel[/b] habe ich so wie ich Deine Anleitung verstanden habe erstellt:
[pre]
pi@FHEMmaster:/etc/udev/rules.d $ cat /etc/udev/rules.d/80-persistent-x10.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="0006", ACTION=="add", MODE="0644"

pi@FHEMmaster:/etc/udev/rules.d $ ls -l /dev/input/
insgesamt 0
drwxr-xr-x 2 root root      80 Apr  3 03:28 by-id
drwxr-xr-x 2 root root      80 Apr  3 03:28 by-path
crw-rw---- 1 root input 13, 64 Apr  3 03:28 event0
crw-rw---- 1 root input 13, 65 Apr  3 03:28 event1
crw-rw---- 1 root input 13, 66 Apr  3 03:28 event2
crw-rw---- 1 root input 13, 63 Apr  3 03:28 mice

pi@FHEMmaster:/etc/udev/rules.d $ cat /proc/bus/input/devices
I: Bus=0003 Vendor=20a0 Product=0006 Version=0101
N: Name="flirc.tv flirc Keyboard"
P: Phys=usb-3f980000.usb-1.1.2/input1
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.1/0003:20A0:0006.0002/input/input0
U: Uniq=
H: Handlers=sysrq kbd event0
B: PROP=0
B: EV=100013
B: KEY=e080ffdf 1cfffff ffffffff fffffffe
B: MSC=10

I: Bus=0003 Vendor=20a0 Product=0006 Version=0101
N: Name="flirc.tv flirc Consumer Control"
P: Phys=usb-3f980000.usb-1.1.2/input1
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.1/0003:20A0:0006.0002/input/input1
U: Uniq=
H: Handlers=kbd event1
B: PROP=0
B: EV=1f
B: KEY=300ff 0 0 0 0 483ffff 17aff32d bfd44446 0 0 1 130c73 b17c000 267bfa d9415fed 9e1680 4400 0 10000002
B: REL=1040
B: ABS=1 0
B: MSC=10

I: Bus=0003 Vendor=20a0 Product=0006 Version=0101
N: Name="flirc.tv flirc System Control"
P: Phys=usb-3f980000.usb-1.1.2/input1
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.1/0003:20A0:0006.0002/input/input2
U: Uniq=
H: Handlers=kbd event2
B: PROP=0
B: EV=13
B: KEY=c000 100000 0 0 0
B: MSC=10


und der user fhem ist in der Gruppe input

pi@FHEMmaster:/etc/udev/rules.d $ id fhem
uid=999(fhem) gid=20(dialout) Gruppen=20(dialout),105(input)


Neustart und flirc rausziehen & neu reinstecken habe ich auch schon probiert und hat keine Lösung gebracht


Hast jemand eine Lösung für mich?


Viele Grüße
Ned
Titel: Antw:linux usb hid input modul
Beitrag von: Wzut am 03 April 2021, 06:49:50
Zitat von: Ned am 03 April 2021, 04:18:06
Beim erstellen eines Devices (define hid linuxHid event0) bekomme ich nur die Fehlermeldung Unknown module linuxHid
dann hast du das Modul aus dem ersten Post nicht nach /opt/fhem/FHEM kopiert
Titel: Antw:linux usb hid input modul
Beitrag von: Ned am 03 April 2021, 23:37:14
danke, jetzt funktioniert es bei mir :)
Titel: Antw:linux usb hid input modul
Beitrag von: RomanticBoy83 am 07 Juli 2021, 18:12:37
Hallo ihr,
... ich würde gerne eine kleine Erweiterung als Patch anmelden.

Zum Problem:
Ich habe ein USB-NumPad aus China bestellt und möchte dieses gerne als Zahlenblock verwenden. Leider verhält sich die Hardware anders als von mir gedacht und sendet mit jedem Tastendruck zwei Events. Zum einen die Ziffer, und zum zweiten das Event der NumLocktaste.

Meine Lösung:
Ich habe das Modul dahingehend angepasst, dass über das attribut ignoredKeys eine optionale Auswahl von zu ignorierenden Tasten getroffen werden kann.

Es wäre ja denkbar, dass der Patch hier übernommen wird oder ihn der ein oder andere bei sich einpflegen möchte.